JSON schema map syntax
- Last Updated: July 28, 2025
- 1 minute read
- Hybrid Data Pipeline
- Version 4.6
- Documentation
The Configure Schema editor should be used to generate the OData
schema map as described in Configuring data sources for OData Version 2 connectivity. In rare cases, manual editing of the schema map might be
necessary. For OData Version 2 services, an odata_mapping_v2 format is supported.
The schema map consists of a JSON string that contains the following properties:
{
"odata_mapping_v2": {
"schemas": [
{
"name": "schema1_name",
"tables": {
"table1_name": {
"ODataAlias": "odata_name",
"ODataPluralAlias": "plural_odata_name",
"searchMode": "enum",
"columns": {
"column1_name": {
"primaryKeyComponent": integer,
"searchable": boolean,
"indexType": "text_index_name"
},
"column2_name": {...}
},
"excludedColumns": ["column2_name"]
},
"table2_name": {...}
},
"excludedTables": ["table2_name"]
}
]
}
}
Property descriptions
See the following tables for descriptions of schema map properties.
Root properties
| Property | Description |
|---|---|
odata_mapping_v2 |
Root container for the mapping configuration. |
Schema map properties
| Property | Description |
|---|---|
schemas |
Array of database schemas to map. |
Schema properties
| Property | Description |
|---|---|
name |
The backend data source schema name. This is a required field.
For data stores that do not support schemas, such as MySQL, the
name value should be null ("name":
null). |
tables |
Contains table elements describing how to expose tables through
OData. If the tables object is missing or empty, all tables, except
for any table in the excludedTables array, are
exposed. |
excludedTables |
Comma-separated list of tables to hide from OData requests. Any tables not specified in this list that have a primary key column will be exposed for OData requests. This optional field is used only when the tables object is missing or empty. |
Table properties
| Property | Description |
|---|---|
ODataAlias |
The singular entity name to use in OData addresses for requests to this table. |
ODataPluralAlias |
The plural entity name to use in OData requests. |
searchMode |
Applies to columns enabled for search. Determines whether a
column is searchable and the method used to search it.
|
columns |
Contains column elements that define the details of columns
included in a table. If the columns element is missing or empty,
then all columns except the ones listed in
excludeColumns are exposed. |
excludedColumns |
Comma-separated list of columns to hide from OData requests. This optional field is used only when the columns object is missing or empty. |
Column properties
| Property | Description |
|---|---|
primaryKeyComponent |
The data type of a column belonging to the primary key or null. The primary key is comprised of a set of columns to use as the primary key for a table that does not have a defined primary key. If this field is not specified or the key list is empty, the table must have a primary key defined in the database. If a primary key is defined for the table in the database and a primary key column list is also specified in the OData Schema Map parameter, the primary key defined in the database is used. |
searchable |
If true, the column is searchable, using the
searchMode specified at the table level. If
false, the column is not searchable. |
indexType |
The model contains this element to identify the type of index
when the search mode is set to "full-text". For DB2
and SQL Server, TEXT is the only valid value. For
Oracle, valid values include CONTEXT and
CTXCAT. |