Virtual DataPort におけるパスの指定

DF、Excel、JSON または XML データソースを作成するには、データへのパスを指定する必要があります。このパスを指定するための構文は、DF、Excel、JSON、XML およびカスタムのデータソースタイプ間で共通です。

DF、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>
                 [ , <parameter name:literal> = <parameter value:literal> ]+
               )
             ]
             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>
                 [ , <parameter name:literal> = <parameter value:literal> ]+
               )
             ]
             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>
                 [ , <parameter name:literal> = <parameter value:literal> ]+
               )
             ]
             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 つのタイプのパスがあります。

  1. Local (LOCAL 'LocalConnection'): 単一のファイルまたはディレクトリへのパス。Virtual DataPort サーバーが稼働しているホストのローカルファイルシステム内、または Windows 共有ドライブ内を指定できます。

    ディレクトリへのパスで、 FILENAMEPATTERN が指定されている場合、 FILENAMEPATTERN の正規表現と一致する名前のファイルのみがデータソースで処理されます。この句は、カスタムラッパーおよび区切り形式ファイルのデータソースの場合のみ有効です。

    パラメーター CHARSET は DF および JSON データソースで使用できます。

  2. From Variable (LOCAL 'VariableConnection'): ソースからデータを取得するのではなく、データソースの基本ビューを指定したクエリの WHERE 句で実行時にクライアントからデータが提供される場合は、このパスを使用します。

  3. HTTP Client (HTTP 'http.CommonsHttpClientConnection'): HTTP リクエストの送信によりファイルを取得するためのパス。このパスのパラメーターは以下のとおりです。

    • タイムアウト : http.CommonsHttpClientConnection に続けて、リクエストのタイムアウトを指定できます。たとえば、 http.CommonsHttpClientConnection,120000 はリクエストのタイムアウトが 2 分間であることを示します。

    • リクエストの HTTP メソッド (GETPUTPOSTPATCHDELETE のいずれか)。このパラメーターは http.DenodoBrowserPoolConnection ではなく、 http.CommonsHttpClientConnection の場合のみ一緒に設定する必要があります。

    • データソースのファイルの URI 。この URI には、実行時に値が提供される補間変数を含めることができます。補間変数の詳細については、「 クエリの実行コンテキストと補間文字列 」を参照してください。

    • POSTBODYMIME (オプション): 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.0aOAuth 2.0 および SPNEGO (Kerberos) です。

      認証方法 BASICDIGESTNTLM において、 WITH PASS-THROUGH SESSION CREDENTIALS 句を追加すると、あるユーザーがこのデータソースを使用するビューにクエリを実行したときに、Virtual DataPort は HTTP サーバーに対して認証するためにこのユーザーの資格情報を使用します。この場合、 USERNAME パラメーターと PASSWORD パラメーターの値は、Administration Tool がデータベースに接続し、データベースとそのテーブルやビューのスキーマを表示するためにのみ使用されます。データベースのテーブルまたはビューにクエリを実行するためには使用されません。

      Administration Tool を使用してこれらの認証メカニズムを構成する方法については、管理ガイドの「 HTTP パス 」を参照してください。

      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 データソースで使用できます。

  4. 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 マニュアル』を参照してください。

  5. FTP / FTPS / SFTP (FTP): FTP 経由でファイルにアクセスするパス。このパスのパラメーターは以下のとおりです。

    • 次の形式の FTP サーバーの URL: host:port/path/file

    • FTP サーバーに接続するためのユーザーのログイン

    • FTP サーバーに接続するためのユーザーのパスワード

    • FILENAMEPATTERN 句は、カスタムラッパーおよび区切り形式ファイルデータソースの場合のみ有効です。

    • パラメーター CHARSET は DF および JSON データソースで使用できます。

ローカルルートまたは FTP/FTPS/SFTP ルートの場合、 URI が単一のファイルではなくディレクトリを参照している場合、このデータソースから作成した基本ビューにクエリを実行すると、Virtual DataPort サーバーは、1 つのファイルからではなく、そのディレクトリにあるすべてのファイルからデータを取得します。この場合、サーバーはディレクトリ内のすべてのファイルが先頭のファイルと同じ形式であると見なします。