転送元 - HTTP・HTTPS

Prev Next

概要

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

制約

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

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

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

設定項目

STEP1 基本設定

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

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

STEP1 詳細設定

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

項目名 必須 デフォルト値 内容
転送データ取得時に正常系と判定するステータスコード Yes 200 200番台の三桁の数値のみ入力可能です。
複数のステータスコードを設定する場合は、200,201,202のようにカンマ区切りで入力してください。
SSL CA証明書 No - HTTPS接続時に使用するルートCA証明書をPEM形式で設定できます。
TROCCOにインストールされていないルートCA証明書によるSSL認証が必要な場合に入力してください。

STEP2 詳細設定

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

ページング設定

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

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

項目名 必須 デフォルト値 内容
from/offsetパラメータ名 Yes - ページングリクエストのfrom/offsetパラメータ名を入力します。
toパラメータ名 No - ページングリクエストのtoパラメータ名を入力できます。
リクエスト回数 Yes 1 ページングリクエストのリクエスト回数を入力します。
from/offsetパラメータ初期値 Yes 0 ページングリクエストのfrom/offsetパラメータの初期値を入力します。
1リクエストで進めるfrom/offsetパラメータの数 Yes 1 ページングリクエストの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回目のリクエストは実行せず、データ取得は完了します。