JSON Sources¶
Virtual DataPort allows using JSON files as data sources.
To define a JSON data source there are two options to configure the access to the data:
Specify the access path to the JSON document (
ROUTE
clause). The path may include interpolation variables to parameterize the access path depending on the conditions of the query executed at runtime (see more about interpolation variables in the section Execution Context and Interpolation Strings).Specify the access to an Open API document to access its operations (
OPENAPI3
clause). The document will be processed automatically in order to create base views of each operation. For more information about the Open API data sources you can see OpenAPI 3 Data Sources FAQ.
To create a JSON data source, use the statement CREATE DATASOURCE JSON.
CREATE [ OR REPLACE ] DATASOURCE JSON <name:identifier>
[ ID = <literal> ]
[ FOLDER = <literal> ]
{ ROUTE <route> [ CHARSET = <literal> ] [ <route_filters> ]
| OPENAPI3 (
DOCUMENT_ACCESS_CONFIGURATION (
<openapi_route>
)
DEFAULT_CONFIGURATION_FOR_BASE_VIEWS (
ROUTE <route> [ CHARSET = <literal> ] [ <route filters> ]
)
)
}
[ TRANSFER_RATE_FACTOR = <double> ]
[ DESCRIPTION = <literal> ]
<route_filters> ::=
FILTER ( <filter> [, <filter> ]* )
<openapi_route> ::=
LOCAL <connection class name:literal> <uri:literal>
| HTTP <connection class name:literal> <uri:literal>
[ CHECKCERTIFICATES ]
[ <openapi_authentication> ]
<openapi_authentication> ::=
AUTHENTICATION {
OFF
| BASIC ( <credentials> )
| DIGEST ( <credentials> )
}
<credentials> ::= USER <literal> PASSWORD <literal> [ ENCRYPTED ]
<route> ::= (see Syntax to set the path in a DF, JSON or XML data source)
<filter> ::= (see Syntax to set a filter in a DF, JSON or XML data source)
To modify a JSON data source, use the statement ALTER DATASOURCE JSON.
ALTER DATASOURCE JSON <name:identifier>
[ ROUTE <route> [ <route_filters> ] ]
[ OPENAPI3 (
DOCUMENT_ACCESS_CONFIGURATION (
<openapi_route>
)
DEFAULT_CONFIGURATION_FOR_BASE_VIEWS (
ROUTE <route> [ CHARSET = <literal> ] [ <route filters> ]
)
)
]
[ TRANSFER_RATE_FACTOR = <double> ]
[ DESCRIPTION = <literal> ]
<route_filters> ::=
FILTER ( <filter> [, <filter> ]* )
<filter> ::= (see Syntax to set a filter in a DF, JSON or XML data source)
<route> ::= (see Syntax to set the path in a DF, JSON or XML data source)
<openapi_route> ::= (see Syntax of the CREATE DATASOURCE JSON statement)
Explanation of some of the parameters of these statements:
OR REPLACE
: If present and a data source with the same name exists, the current definition is substituted with the new one.DOCUMENT_ACCESS_CONFIGURATION
: route configuration to access the OpenAPI Document.DEFAULT_CONFIGURATION_FOR_BASE_VIEWS
: default settings to be used by the base views created from the Open API document.TRANSFER_RATE_FACTOR
: relative measure of the speed of the network connection between the Denodo server and the data source. Use the default value (e.g. 1 for JDBC databases located on premises) if the data source is accessible through a conventional 100 Mbps LAN. Use higher values for faster networks and lower values for data sources accessible through a WAN.