転送元 - HTTP・HTTPS
  • 07 Mar 2024
  • ダーク
    ライト
  • PDF

転送元 - HTTP・HTTPS

  • ダーク
    ライト
  • PDF

Article Summary

概要

HTTP・HTTPSプロトコルのWebサービスからデータを取得する設定のヘルプページです。

制約

OAuth 2.0を利用した接続に関する制約

OAuth 2.0を利用する場合、以下の制約事項があります。

  • グラントタイプには、認可コードグラント(Authorization code grant)にのみ対応しています。
    • そのほかのグラントタイプには対応していません。
  • 転送ジョブの実行時にデータソースに接続する際の認証方法には、Bearer認証にのみ対応しております。
    • そのほかの認証方法には対応していません。
  • 認可コードの取得、トークンの取得・更新の際に利用されるパラメータは、OAuth 2.0の標準的な仕様に準拠していることを想定しています。
  • 転送ジョブの実行中にアクセストークンの有効期限が切れた場合、転送ジョブは失敗します。
    • この場合、アクセストークンの有効期限内に転送ジョブが完了するように、転送設定を修正してください。
    • 転送設定STEP2のフィルター設定にて、取得対象のレコード数を削減するなどの対応が考えられます。

設定項目

STEP1 基本設定

項目名必須デフォルト値内容
認可NoOFFOAuth 2.0を利用するかどうかを選択します。
HTTP・HTTPSの接続情報Yes-OAuth 2.0を利用するを有効にした場合に、選択項目が表示されます。
あらかじめ登録してあるHTTP・HTTPSの接続情報から、今回の転送設定に必要な権限を持つものを選択します。
URLYes-転送データの取得元となるURLを入力します。
HTTPメソッドYesGETデータ取得元へのHTTPメソッドを以下より選択します。
  • GET
  • POST
  • ユーザーエージェントNo-リクエストヘッダに指定する、ユーザーエージェント名を入力できます。
    文字エンコーディングNoUTF-8リクエストヘッダに指定する、文字コードを入力できます。
    入力ファイル形式YesCSV/TSV入力ファイルの形式を選択します。
    詳しくは、入力ファイル形式の設定についてを参照ください。
    ページング設定Yes無効ページング設定を以下より選択します。
  • 無効
  • オフセットベース
  • カーソルベース

  • ページングリクエストを使用する場合は、リクエスト先の仕様に応じて、オフセットベースカーソルベースを選択してください。
    詳しくは、ページング設定を参照ください。
    パラメータNo-クエリパラメータに任意のkey/valueを追加できます。
    リクエストボディNo-HTTPメソッドPOSTを選択した場合に入力できます。
    リクエストボディに任意のkey/valueを追加できます。
    ただし、ページング設定有効時やパラメータを指定している場合、この入力値はリクエストボディに反映されません。
    HTTPヘッダNo-HTTPヘッダに任意のkey/valueを追加できます。
    OAuth 2.0を利用する場合は、HTTPヘッダにアクセストークンを追加する必要はありません。

    STEP1の詳細設定

    詳細設定をクリックすると、以下の設定項目が表示されます。

    項目名必須デフォルト値内容
    転送データ取得時に正常系と判定するステータスコードYes200200番台の三桁の数値のみ入力可能です。
    複数のステータスコードを設定する場合は、200,201,202のようにカンマ区切りで入力してください。

    STEP2 詳細設定

    項目名デフォルト値
    接続タイムアウト (ミリ秒)2,000
    読み取りタイムアウト (ミリ秒)10,000
    最大リトライ回数5
    リトライ間隔 (ミリ秒)10,000
    リクエスト間隔 (ミリ秒)0

    ページング設定

    ページング設定オフセットベースカーソルベースを選択すると、転送データ取得時にページングリクエストを含めることができます。
    選択肢ごとに、設定項目は異なります。

    オフセットベースを選択した場合

    項目名必須デフォルト値内容
    from/offsetパラメータ名Yes-ページングリクエストのfrom/offsetパラメータ名を入力します。
    toパラメータ名No-ページングリクエストのtoパラメータ名を入力できます。
    リクエスト回数Yes1ページングリクエストのリクエスト回数を入力します。
    from/offsetパラメータ初期値Yes0ページングリクエストのfrom/offsetパラメータの初期値を入力します。
    1リクエストで進めるfrom/offsetパラメータの数Yes1ページングリクエストの1リクエストで進めるfrom/offsetパラメータの数を入力します。

    オフセットベースの入力例: ページングリクエストにfromとtoを用いる場合

    項目名
    from/offsetパラメータ名from
    toパラメータ名to
    リクエスト回数4
    from/offsetパラメータ初期値1
    1リクエストで進めるfrom/offsetパラメータの数10

    この場合、以下のリクエストパラメータが追加されます。

    1. ?from=1&to=10
    2. ?from=11&to=20
    3. ?from=21&to=30
    4. ?from=31&to=40

    オフセットベースの入力例:ページングリクエストにpageとsizeを用いる場合

    項目名
    パラメータ(key)size
    パラメータ(value)100
    from/offsetパラメータ名page
    リクエスト回数4
    from/offsetパラメータ初期値1
    1リクエストで進めるfrom/offsetパラメータの数1

    この場合、以下のリクエストパラメータが追加されます。

    1. ?page=1&size=100
    2. ?page=2&size=100
    3. ?page=3&size=100
    4. ?page=4&size=100

    カーソルベースを選択した場合

    ページングリクエストの完了条件

    カーソルベースのページング設定にした場合、レスポンスデータのカーソルが以下のいずれかとなるまで、リクエストを繰り返します。

    • カーソルが含まれていない
    • カーソルの値がnullである

    そのため、データを取得したいサービスのAPI仕様が以下のいずれかの場合にのみ、カーソルベースをご利用いただけます。

    • 後続ページがこれ以上存在しない場合、レスポンスデータにカーソルが含まれない
    • 後続ページがこれ以上存在しない場合、レスポンスデータのカーソルの値がnullである

    万一、上記仕様を満たさない仕様のAPIを利用して作成した転送設定でジョブを実行した場合は、該当ジョブを手動でキャンセルしてください。

    リクエストに使用したカーソルとレスポンスのカーソルの値が同じ場合

    この場合、不正なレスポンスと判断し、転送ジョブは失敗します。
    エラーログには下記が出力されます。
    The requested cursor parameters and the response cursor parameters are the same. Please check the request_parameter_cursor_name parameter.

    項目名必須内容
    レスポンスデータに含まれるカーソルへのパス(JSONPath記法)Yesレスポンスデータからカーソルの値を取り出す際に使用します。
    JSONPath記法で入力します。
    リクエスト時にカーソルをセットするパラメータ名Yesリクエスト時に使用します。
    前ページのレスポンスデータで受け取ったカーソルをセットするパラメータ名を入力します。
    1リクエストで取得するレコードの最大件数をセットするパラメータ名Noリクエスト時に使用します。
    1リクエストあたりに取得するデータの最大件数を指定するパラメータ名を入力します。
    1リクエストで取得するレコードの最大件数が未入力の場合、この入力値は使用されません。
    1リクエストで取得するレコードの最大件数Noリクエスト時に使用します。
    1リクエストあたりに取得するデータの最大件数を指定します。
    1リクエストで取得するレコードの最大件数をセットするパラメータ名が未入力の場合、この入力値は使用されません。

    カーソルベースの入力例

    カーソルベースのレスポンスデータの構造が、以下だった場合の入力例です。

    {
      "items": [
        { ... },
        { ... },
        ...
      ],
      "responseMetaData": {
        "nextCursor": "SAMPLE_CURSOR",
        ...
      },
      ...
    }
    
    項目名
    レスポンスデータに含まれるカーソルへのパス(JSONPath記法)$.responseMetaData.nextCursor
    リクエスト時にカーソルをセットするパラメータ名cursor
    1リクエストで取得するレコードの最大件数をセットするパラメータ名limit
    1リクエストで取得するレコードの最大件数100

    この場合、?cursor=SAMPLE_CURSOR&limit=100のようなリクエストパラメータが追加されます。

    例えば、レコードが550件存在するデータに対するリクエストであれば、上記のようなリクエストが6回実行されます。
    5回目までのレスポンスには100レコード分のデータが含まれ、6回目のレスポンスには50レコード分のデータが含まれます。
    後続のデータが存在しない6回目のレスポンスデータにはカーソルが含まれないため、7回目のリクエストは実行せず、データ取得は完了します。


    この記事は役に立ちましたか?