--- articleId: c8c0205b-8f5a-4dc0-94cd-13dcce0bf29b slug: data-source-http title: 転送元 - HTTP・HTTPS parentCategoryId: b257af88-17fc-4a4d-bf94-dc694a258787 languageCode: ja --- ## 概要 HTTP・HTTPSプロトコルのWebサービスからデータを取得する設定のDocsです。 ## 制約 :::(Warning) (OAuth 2.0を利用した接続に関する制約) OAuth 2.0を利用する場合、以下の制約事項があります。 - グラントタイプには、**認可コードグラント**(Authorization code grant)にのみ対応しています。 - そのほかのグラントタイプには対応していません。 - 転送ジョブの実行時にデータソースに接続する際の認証方法には、**Bearer認証**にのみ対応しております。 - そのほかの認証方法には対応していません。 - 認可コードの取得、トークンの取得・更新の際に利用されるパラメータは、OAuth 2.0の標準的な仕様に準拠していることを想定しています。 - 詳しくは、[TROCCOにおけるトークンの取得・更新および認可コードの取得方法](/docs/connection-configuration-http-https#troccoにおけるトークンの取得・更新および認可コードの取得方法)を参照ください。 - 転送ジョブの実行中にアクセストークンの有効期限が切れた場合、転送ジョブは失敗します。 - この場合、アクセストークンの有効期限内に転送ジョブが完了するように、転送設定を修正してください。 - 転送設定STEP2のフィルター設定にて、取得対象のレコード数を削減するなどの対応が考えられます。 - AWS PrivateLink* を用いた接続と同時に利用する場合、認証・認可サーバーとの通信はPrivateLink通信内では実行されないことにご注意ください。 - \* AWS PrivateLinkは**有償オプション**となっております。 ::: ## 設定項目 ### STEP1 基本設定 | 項目名 | 必須 | デフォルト値 | 内容 | | --- | --- | --- | --- | | 認可 | No | OFF | **OAuth 2.0を利用する**かどうかを選択します。 | | HTTP・HTTPSの接続情報 | Yes | - | **OAuth 2.0を利用する**を有効にした場合に、選択項目が表示されます。
あらかじめ登録してある[HTTP・HTTPSの接続情報](/docs/connection-configuration-http-https)から、今回の転送設定に必要な権限を持つものを選択します。 | | URL | Yes | - | 転送データの取得元となるURLを入力します。 | | HTTPメソッド | Yes | `GET` | データ取得元へのHTTPメソッドを以下より選択します。 | | ユーザーエージェント | No | - | リクエストヘッダに指定する、ユーザーエージェント名を入力できます。 | | 文字エンコーディング | No | `UTF-8` | リクエストヘッダに指定する、文字コードを入力できます。 | | 入力ファイル形式 | Yes | `CSV/TSV` | 入力ファイルの形式を選択します。
詳しくは、[入力ファイル形式の設定について](/docs/configuration-of-input-files)を参照ください。| | ページング設定 | Yes | 無効 | ページング設定を以下より選択します。
ページングリクエストを使用する場合は、リクエスト先の仕様に応じて、**オフセットベース**か**カーソルベース**を選択してください。
詳しくは、[ページング設定](/docs/data-source-http#ページング設定)を参照ください。 | | パラメータ | 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` ### カーソルベースを選択した場合 :::(Warning) (ページングリクエストの完了条件) カーソルベースのページング設定にした場合、レスポンスデータのカーソルが以下のいずれかとなるまで、リクエストを繰り返します。 - カーソルが含まれていない - カーソルの値が`null` そのため、データを取得したいサービスのAPI仕様が以下のいずれかの場合にのみ、カーソルベースをご利用いただけます。 - 後続ページがこれ以上存在しない場合、レスポンスデータにカーソルが含まれない - 後続ページがこれ以上存在しない場合、レスポンスデータのカーソルの値が`null` 万一、上記仕様を満たさない仕様のAPIを利用して作成した転送設定でジョブを実行した場合は、該当ジョブを手動でキャンセルしてください。 ::: :::(Warning) (リクエストに使用したカーソルとレスポンスのカーソルの値が同じ場合) この場合、不正なレスポンスと判断し、転送ジョブは失敗します。 エラーログには下記が出力されます。 `The requested cursor parameters and the response cursor parameters are the same. Please check the request_parameter_cursor_name parameter.` ::: | 項目名 | 必須 | 内容 | | --- | --- | --- | | レスポンスデータに含まれるカーソルへのパス(JSONPath記法) | Yes | レスポンスデータからカーソルの値を取り出す際に使用します。
[JSONPath記法](https://github.com/json-path/JsonPath#operators)で入力します。 | | リクエスト時にカーソルをセットするパラメータ名 | Yes | リクエスト時に使用します。
前ページのレスポンスデータで受け取ったカーソルをセットするパラメータ名を入力します。 | | 1リクエストで取得するレコードの最大件数をセットするパラメータ名 | No | リクエスト時に使用します。
1リクエストあたりに取得するデータの最大件数を指定するパラメータ名を入力します。
**1リクエストで取得するレコードの最大件数**が未入力の場合、この入力値は使用されません。 | | 1リクエストで取得するレコードの最大件数 | No | リクエスト時に使用します。
1リクエストあたりに取得するデータの最大件数を指定します。
**1リクエストで取得するレコードの最大件数をセットするパラメータ名**が未入力の場合、この入力値は使用されません。 | #### カーソルベースの入力例 カーソルベースのレスポンスデータの構造が、以下だった場合の入力例です。 ```json { "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回目のリクエストは実行せず、データ取得は完了します。