---
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回目のリクエストは実行せず、データ取得は完了します。