Virtual DataPort におけるパスの指定¶
DF、Excel、JSON または XML データソースを作成するには、データへのパスを指定する必要があります。このパスを指定するための構文は、DF、Excel、JSON、XML およびカスタムのデータソースタイプ間で共通です。
<route> ::=
LOCAL { 'LocalConnection' | 'VariableConnection' } <path:literal>
[ FILENAMEPATTERN = <literal> ]
[ CHARSET = <encoding:literal> ]
| HTTP
{
'http.CommonsHttpClientConnection [ <option> {, <option> }* } ]'
| 'http.DenodoBrowserPoolConnection [ <option> {, <option> }* } ]'
}
{ GET | POST } <uri:literal>
[ POSTBODY <body:literal> [ MIME <mimetype:literal> ] ]
[ HEADERS (
<header name:literal> = <header value:literal>
[, <header name:literal> = <header value:literal> ]*
) ]
[ <pagination settings> ]
[ CHECKCERTIFICATES ]
[ <authentication> ]
[ <proxy> ]
[ CHARSET = <encoding:literal> ]
| FTP 'ftp.FtpClientConnectionAdapter' <uri:literal> <login:literal>
<password:literal> [ ENCRYPTED ]
[ FILENAMEPATTERN = <literal> ]
[ CHARSET = <encoding:literal> ]
}
<pagination settings> ::=
PAGINATION_SETTINGS (
PAGE_SIZE_PARAMETER = <literal>
PAGE_SIZE = <integer>
PAGE_NUMBER_PARAMETER = <literal>
FIRST_PAGE_INDEX = <integer>
OFFSET_FOR_NEXT_REQUESTS = <integer>
MAX_NUMBER_OF_REQUESTS = <integer>
)
| PAGINATION_SETTINGS (
PAGE_SIZE_PARAMETER = <literal>
PAGE_SIZE = <integer>
NEXT_TOKEN_PARAMETER = <literal>
NEXT_TOKEN_PATH = <literal>
[ MAX_NUMBER_OF_REQUESTS = <integer> ]
)
| PAGINATION_SETTINGS (
PAGE_SIZE_PARAMETER = <literal>
PAGE_SIZE = <integer>
NEXT_TOKEN_PATH = <literal>
[ MAX_NUMBER_OF_REQUESTS = <integer> ]
)
<authentication> ::=
AUTHENTICATION {
OFF
| BASIC ( <credentials> )
| BASIC ( WITH PASS-THROUGH SESSION CREDENTIALS ( <credentials> ) )
| DIGEST ( <credentials> )
| DIGEST ( WITH PASS-THROUGH SESSION CREDENTIALS ( <credentials> ) )
| NTLM ( <ntlm_credentials> )
| NTLM ( WITH PASS-THROUGH SESSION CREDENTIALS ( <ntlm_credentials> ) )
| OAUTH10A (
CLIENTIDENTIFIER = <literal>
CLIENTSHAREDSECRET = <literal> [ ENCRYPTED ]
[
ACCESSTOKEN = <literal> [ ENCRYPTED ]
ACCESSTOKENSECRET = <literal> [ ENCRYPTED ]
]
SIGNATUREMETHOD = { HMAC_SHA1 | PLAINTEXT }
[
TEMPORARYCREDENTIALREQUESTURL = <literal> { GET | POST }
RESOURCEOWNERAUTHORIZATIONURL = <literal>
TOKENREQUESTURL = <literal> { GET | POST }
REDIRECTURL = { OOB | DEFAULT | <literal> }
]
)
| OAUTH20 (
ACCESSTOKEN = {
<token:literal> [ ENCRYPTED ]
| VARIABLE <name of the variable:literal>
}
REQUESTSIGNINGMETHOD = {
HEADER
| FORM_ENCODED
| URL [ <query parameter name:literal> ]
}
{
AUTHENTICATION_GRANT = PASSWORD_GRANT (
USER_IDENTIFIER = <literal>
USER_PASSWORD = <literal> [ ENCRYPTED ]
)
[ TOKENENDPOINTURL = <literal> ]
[ EXTRA_PARAMETERS_OF_REFRESH_TOKEN_REQUEST (
<parameter name:literal> = <parameter value:literal> [ ENCRYPTED | HIDDEN ]
[ , <parameter name:literal> = <parameter value:literal> [ ENCRYPTED | HIDDEN ] ]+
)
]
CLIENTIDENTIFIER = <literal>
CLIENTSECRET = <literal> [ ENCRYPTED ]
[ AUTHENTICATION_METHOD_OF_AUTHORIZATION_SERVERS =
{ HTTP_BASIC | REQUEST_BODY } ]
[ ACCESSTOKENEXPIRESIN =
<access token expires in # seconds:long> ]
]
|
AUTHENTICATION_GRANT = CLIENT_CREDENTIALS_GRANT
[ TOKENENDPOINTURL = <literal> ]
[ EXTRA_PARAMETERS_OF_REFRESH_TOKEN_REQUEST (
<parameter name:literal> = <parameter value:literal> [ ENCRYPTED | HIDDEN ]
[ , <parameter name:literal> = <parameter value:literal> [ ENCRYPTED | HIDDEN ] ]+
)
]
CLIENTIDENTIFIER = <literal>
CLIENTSECRET = <literal> [ ENCRYPTED ]
[ AUTHENTICATION_METHOD_OF_AUTHORIZATION_SERVERS =
{ HTTP_BASIC | REQUEST_BODY } ]
[ ACCESSTOKENEXPIRESIN =
<access token expires in # seconds:long> ]
]
|
AUTHENTICATION_GRANT = CODE_GRANT
[ TOKENENDPOINTURL = <literal> ]
[ EXTRA_PARAMETERS_OF_REFRESH_TOKEN_REQUEST (
<parameter name:literal> = <parameter value:literal> [ ENCRYPTED | HIDDEN ]
[ , <parameter name:literal> = <parameter value:literal> [ ENCRYPTED | HIDDEN ] ]+
)
]
CLIENTIDENTIFIER = <literal>
CLIENTSECRET = <literal> [ ENCRYPTED ]
[ AUTHENTICATION_METHOD_OF_AUTHORIZATION_SERVERS =
{ HTTP_BASIC | REQUEST_BODY } ]
[ REFRESHTOKEN = {
<token:literal> [ ENCRYPTED ]
| VARIABLE <name of the variable:literal>
}
]
[ ACCESSTOKENEXPIRESIN =
<access token expires in # seconds:long> ]
]
[
AUTHORIZATIONSERVERURL = <literal>
[ REDIRECTIONENDPOINTURL { DEFAULT | <literal> } ]
[ SCOPES = <scope 1:literal> [, <scope n:literal> ]* ]
SETSTATEPARAMETER = { TRUE | FALSE }
]
}
)
| TWO_WAY_SSL (
CERTIFICATE = <literal> [ ENCRYPTED ]
[ CERTIFICATE_PASSWORD = <literal> [ ENCRYPTED ] ]
)
}
<proxy>::= PROXY
OFF
| DEFAULT
| ON ( HOST <literal> PORT <integer> [ <credentials> ] )
| AUTOMATIC ( PACURI <literal> )
<credentials> ::= USER <literal> PASSWORD <literal> [ ENCRYPTED ]
<ntlm_credentials> ::= <credentials> [ DOMAIN <literal> ]
Virtual DataPort には 5 つのタイプのパスがあります。
Local (
LOCAL 'LocalConnection'
): 単一のファイルまたはディレクトリへのパス。Virtual DataPort サーバーが稼働しているホストのローカルファイルシステム内、または Windows 共有ドライブ内を指定できます。ディレクトリへのパスで、
FILENAMEPATTERN
が指定されている場合、FILENAMEPATTERN
の正規表現と一致する名前のファイルのみがデータソースで処理されます。この句は、カスタムラッパーおよび区切り形式ファイルのデータソースの場合のみ有効です。パラメータ
CHARSET
は DF および JSON データソースで使用できます。From Variable (
LOCAL 'VariableConnection'
): ソースからデータを取得するのではなく、データソースの基本ビューを指定したクエリのWHERE
句で実行時にクライアントからデータが提供される場合は、このパスを使用します。HTTP Client (
HTTP 'http.CommonsHttpClientConnection'
): HTTP リクエストの送信によりファイルを取得するためのパス。このパスのパラメータは以下のとおりです。タイムアウト :
http.CommonsHttpClientConnection
に続けて、リクエストのタイムアウトを指定できます。たとえば、http.CommonsHttpClientConnection,120000
はリクエストのタイムアウトが 2 分間であることを示します。リクエストの HTTP メソッド (
GET
、PUT
、POST
、PATCH
、DELETE
のいずれか)。このパラメータはhttp.DenodoBrowserPoolConnection
ではなく、http.CommonsHttpClientConnection
の場合のみ一緒に設定する必要があります。データソースのファイルの
URI
。この URI には、実行時に値が提供される補間変数を含めることができます。補間変数の詳細については、「 クエリの実行コンテキストと補間文字列 」を参照してください。POSTBODY
とMIME
(オプション): HTTP メソッドのPOST
を使用してリクエストの本文を設定する場合は、POSTBODY
パラメータを使用します。MIME はこのリクエストの本文の Mime タイプを表します。例 :application/json
またはapplication/xml
HEADERS
(オプション): HTTP リクエストのヘッダーを設定するにはこのパラメータを使用します。CHECKCERTIFICATES
(オプション): この句を追加するのは、ファイルへのパスの HTTP クライアント 構成で、[Configuration] タブの [Check certificates] チェックボックスをチェックするのと同じことです。このオプションを有効にする必要がある場合については、管理ガイドの「 HTTP パス 」 (「 Virtual DataPort でのパスの種類 」のサブセクション) を参照してください。PAGINATION SETTINGS
(オプション): 改ページの使用を選択した場合、または改ページを使用する必要がある場合は、このオプションを有効にする必要があります。この句は、Create Data Source `` ダイアログで ``Pagination
タブに必要事項を入力するのと同じです。このオプションを有効にする必要がある場合については、管理ガイドの「 改ページ 」を参照してください。AUTHENTICATION
(オプション): HTTP サーバーが認証を要求する場合は、このパラメータを追加してサーバーの資格情報を示します。サポートされる認証方法は、BASIC、DIGEST、Mutual (双方向 SSL)、NTLM、 OAuth 1.0a 、 OAuth 2.0 および SPNEGO (Kerberos) です。
Administration Tool を使用してこれらの認証メカニズムを構成する方法については、管理ガイドの「 HTTP パス 」を参照してください。
認証方法
BASIC
、DIGEST
、NTLM
において、WITH PASS-THROUGH SESSION CREDENTIALS
句を追加すると、あるユーザーがこのデータソースを使用するビューにクエリを実行したときに、Virtual DataPort は HTTP サーバーに対して認証するためにこのユーザーの資格情報を使用します。この場合、USERNAME
パラメータとPASSWORD
パラメータの値は、Administration Tool がデータベースに接続し、データベースとそのテーブルやビューのスキーマを表示するためにのみ使用されます。データベースのテーブルまたはビューにクエリを実行するためには使用されません。EXTRA_PARAMETERS_OF_REFRESH_TOKEN_REQUEST
について: このパラメータの値は、プレーンテキストで、または暗号化して指定できます。暗号化された値を指定するには、トークンENCRYPTED
を追加します。パラメータの値をプレーンテキストで指定しながら、暗号化して保存するには、トークンHIDDEN
を追加します。Virtual DataPort ではこの値を暗号化して保存し、データソースの VQL もこの値を暗号化して格納します。ENCRYPTED
修飾子を追加できる値の場合は、この値をプレーンテキストで、または暗号化して設定できます。暗号化して設定する場合は、値の横にENCRYPTED
修飾子を追加します。値を暗号化するには、
ENCRYPT_PASSWORD
ステートメントに続けてパスワードを指定して実行します。たとえば、ENCRYPT_PASSWORD 'password';
のように指定します。ENCRYPT_PASSWORD
ステートメントは、相互認証証明書を暗号化する場合と、パラメータとしてファイルの Base64 表示を使用する場合に使用できます。警告
パススルー資格情報が有効なデータソースを使用するビューに対してキャッシュを有効にする場合は注意が必要です。このような場合に発生することが考えられる問題については、「 データソースをパススルー資格情報を使用して構成する場合の検討事項 」を参照してください。
これらの認証方法の詳細については、管理ガイドの「 OAuth Authentication 」を参照してください。
PROXY
(オプション): HTTP リクエストがプロキシ経由で送信される場合、3 つのオプションがあります。DEFAULT
: データソースは、Virtual DataPort サーバーのデフォルトの HTTP プロキシ構成を使用します。これらのデフォルト値の構成方法については、管理ガイドの「 Default Configuration of HTTP Proxy 」を参照してください。ON
: Virtual DataPort サーバーは、HOST
パラメータとPORT
パラメータで示されたプロキシに接続します。プロキシが認証を要求した場合は、プロキシの資格情報も入力する必要があります。AUTOMATIC
: プロキシの構成パラメータが格納されているproxy.pac
ファイルの URL を入力します。
パラメータ
CHARSET
は DF および JSON データソースで使用できます。
Denodo Browser (
HTTP 'http.DenodoBrowserPoolConnection'
): ファイルは Denodo Browser を使用して取得されます。Denodo Browser では、NSEQL (Denodo ITPilot Navigation SEQuence Language) で記述された複雑なナビゲーションシーケンスを実行できます。NSEQL シーケンスは
uri
パラメータで示されます。ブラウザは、内部のブラウザプールから、またはリモートのブラウザプールから取得できます。つまり、
HTTP 'http.DenodoBrowserPoolConnection, 3, 1'
は、内部ポートから取得したブラウザを使用して HTTP ルートを作成します。リモートプールからブラウザを取得するには、2 番目のパラメータを 2 に設定します。Denodo Browser と NSEQL シーケンスの詳細については、『Denodo ITPilot ユーザーガイド』と『NSEQL マニュアル』を参照してください。
FTP / FTPS / SFTP (
FTP
): FTP 経由でファイルにアクセスするパス。このパスのパラメータは以下のとおりです。次の形式の FTP サーバーの URL:
host:port/path/file
FTP サーバーに接続するためのユーザーのログイン
FTP サーバーに接続するためのユーザーのパスワード
FILENAMEPATTERN
句は、カスタムラッパーおよび区切り形式ファイルデータソースの場合のみ有効です。パラメータ
CHARSET
は DF および JSON データソースで使用できます。
ローカルルートまたは FTP/FTPS/SFTP ルートの場合、 URI
が単一のファイルではなくディレクトリを参照している場合、このデータソースから作成した基本ビューにクエリを実行すると、Virtual DataPort サーバーは、1 つのファイルからではなく、そのディレクトリにあるすべてのファイルからデータを取得します。この場合、サーバーはディレクトリ内のすべてのファイルが先頭のファイルと同じ形式であると見なします。