---
articleId: 67097bcf-ac67-462d-a533-b5bfc3d09f6f
slug: create-source-custom-connector
title: 転送元としてカスタムコネクタを作成する
parentCategoryId: cae458a0-c255-491c-a961-51d76d7d2674
languageCode: ja
---
本ページでは、転送元としてカスタムコネクタを作成する手順について説明します。
接続情報や転送に関する設定については、以下のドキュメントを参照ください。
- [接続情報 - カスタムコネクタ](/docs/connection-configuration-custom-connector)
- [転送元 - カスタムコネクタ](/docs/data-source-custom-connector)
## 入力項目
### 基本情報
| 項目名 | 必須 |説明|
| --- | --- | --- |
| 名前 | Yes | TROCCO内部で利用するカスタムコネクタの名前を入力します。 |
| メモ | No | TROCCO内部で利用するカスタムコネクタのメモを入力できます。 |
### コネクタ情報
| 項目名 | 必須 |説明|
| --- | --- | --- |
| APIドキュメントURL | No | カスタムコネクタで取得対象とするREST APIのAPIドキュメントを入力し、認証情報を自動入力できます。
詳しくは、[入力内容の自動生成について](/docs/create-source-custom-connector#入力内容の自動生成について)を参照ください。 |
| ベースURL | Yes | カスタムコネクタで取得対象とするREST APIのベースURLを入力します。
ベースURLとは、APIのすべてのエンドポイントにアクセスする際の基本となるURLです。
例:`https://api.example.com/api/v1`|
### 認証情報
| 項目名 | 必須 |説明|
| --- | --- | --- |
| 認証種別 | Yes | 認証種別を選択します。**APIキー**または**OAuth2**による認証に対応しています。
選択した認証種別によって、認証情報で入力する項目が変わります。|
#### 認証種別でOAuth2を選択した場合の追加項目
| 項目名 | 必須 | デフォルト値 | 説明 |
| --- | --- | --- | --- |
| グラントタイプ | Yes | `認可コード` | OAuthで認証を付与する方式(グラントタイプ)を選択します。
取得対象のAPIで利用できるグラントタイプを選択してください。
|
| 認可URL | Yes | - | グラントタイプに`認可コード`を選択した場合のみ、入力が必要な項目です。
OAuthの認可サーバーへの遷移先となる認可URLを入力します。利用するOAuthサービスから取得してください。 |
| アクセストークンURL | Yes | - | OAuthにアクセストークンをリクエストする先となるアクセストークンURLを入力します。利用するOAuthサービスから取得してください。 |
#### 各認証種別で共通の項目
| 項目名 | 必須 | デフォルト値 | 説明 |
| --- | --- | --- | --- |
| 認証ヘッダ名 | Yes | `Authorization` | APIキーを送信するヘッダーの名称を入力します。|
| 認証スキーム | No | `Bearer` | 認証情報のスキームを入力します。 |
### エンドポイント
カスタムコネクタで取得対象とするAPIのエンドポイントごとに設定を追加します。
| 項目名 | 必須 | デフォルト値 | 説明 |
| --- | --- | --- | --- |
| 名前 | Yes | - | エンドポイントの名前を入力します。|
| パス | Yes | - | ベースURLで指定したURL部分を除いた、APIエンドポイントのパスを入力します。|
| パスパラメータ | No | - | パスにパスパラメータを用いる際に入力します。 |
| HTTPメソッド | Yes | GET | HTTPメソッドを選択します。
`GET`と`POST`をサポートしています。|
| APIドキュメントURL | No | - | カスタムコネクタで取得対象とするREST APIのAPIドキュメントを入力し、各種設定を自動入力できます。
詳しくは、[入力内容の自動生成について](/docs/create-source-custom-connector#入力内容の自動生成について)を参照ください。 |
| パラメータ | No | - | リクエストに必要なパラメータを設定します。- パラメータ名:実際に付与するパラメータの名称を設定します。
- 表示名:転送設定でパラメータを設定する際の表示名を入力します。
- デフォルト値:パラメータのデフォルト値を入力します。
- 編集可能:チェックを入れた場合、転送設定時にパラメータの値を入力できるようになります。
- 必須:チェックを入れた場合、転送設定時にパラメータの値の入力が必須になります。
|
| HTTPヘッダ | No | - | リクエストに必要なHTTPヘッダを設定します。- デフォルト値:パラメータのデフォルト値を入力します。
- 編集可能:チェックを入れた場合、転送設定時にパラメータの値を入力できるようになります。
- 必須:チェックを入れた場合、転送設定時にパラメータの値の入力が必須になります。
|
| リクエストボディ | No | - | HTTPメソッドに`POST`を選択した場合に入力できます。リクエストボディを設定します。
パラメータを指定した場合、リクエストボディに設定した値はリクエストに含まれません。|
| JSONPathルート | Yes | `$.*` | レスポンスからデータを抽出する際のルートとするパスを[JSONPath記法](https://github.com/json-path/JsonPath#operators)で指定します。|
| ページング設定 | Yes | 無効 | ページング設定を以下より選択します。- **無効**
- **ページベース**
- **オフセットベース**
- **カーソルベース**
ページングリクエストを使用する場合は、リクエスト先の仕様に応じてページングを設定してください。
詳しくは、[ページング設定](/docs/create-source-custom-connector#ページング設定)を参照ください。 |
:::(Warning) (JSONPathルートの指定方法)
- ページング設定の終了位置判定方法で「最終ページを自動判定」または「最終位置を自動判定」を利用する場合は、配列そのものを返すパスを指定してください。配列の要素を展開する式(`[*]`)を利用するとエラーになります。
- 正しい例:`$.value`
- エラーになる例:`$.value[*]`
- フィールド名に`.`(ドット)が含まれる場合は、ブラケット記法を使用してください。
- 正しい例:`$['@odata.count']`
- エラーになる例:`$.@odata.count`
:::
#### ステータスコード設定
| 項目名 | 必須 | デフォルト値 | 説明 |
| --- | --- | --- | --- |
| 転送データ取得時に正常系と判定するステータスコード | Yes | `200` | データ取得の成功とみなすレスポンスのステータスコードを指定します。
カンマ区切りで複数指定できます。 |
| 失敗時にリトライしないステータスコード | Yes | `400,401,403,404` | データ取得の失敗として再取得を実行しないレスポンスのステータスコードを指定します。
取得対象のデータが存在しない場合や、権限が足りない場合のステータスコードの指定を推奨します。
カンマ区切りで複数指定できます。 |
#### 接続確認
設定したエンドポイントの接続を確認できます。
:::(Info) ()
接続確認には事前に接続情報を設定する必要があるため、一度カスタムコネクタを作成して接続情報を設定したのち、実行してください。
:::
:::(Warning)
現在ページング設定の接続確認でのサポートは行なっていません。
:::
| 項目名 | 必須 | デフォルト値 | 説明 |
| --- | --- | --- | --- |
| 接続確認に利用する接続情報 | Yes | - | 接続確認に利用する接続情報を選択します。 |
| パスパラメータ | No | - | エンドポイント設定で使用したパスパラメータの値を入力できます。|
| 必須パラメータ | No | - | エンドポイント設定で「必須」としたパラメータの値を入力できます。 |
| 必須ヘッダー | No | - | エンドポイント設定で「必須」としたHTTPヘッダの値を入力できます。 |
#### ページング設定
**ページング設定**で**ページベース**・**オフセットベース**・**カーソルベース**を選択すると、転送データ取得時にページングリクエストを含めることができます。
選択肢ごとに、設定項目は異なります。
*ページベースを選択した場合*
| 項目名 | デフォルト値 | 内容 |
| --- | --- | --- |
| 1リクエストの取得件数 | - | 1リクエストで取得するデータの件数を指定します。取得先のAPIによっては、上限が定められている場合があります。 |
| 開始ページ | - | ページングを開始するページ数を指定します。 |
| 終了ページ | 最終ページを自動判定 | 終了位置を判定する方法と、判定するための値を入力します。- 最終ページを自動判定:取得件数が0件になったらページングを終了します。
- 総ページ数のパスを指定:総ページ数が格納されているレスポンスのパスを[JSONPath記法](https://github.com/json-path/JsonPath#operators)で指定し、総ページ数に到達したらページングを終了します。
- 終了ページを指定:ページングを終了するページ数を指定します。
|
| 最大リクエスト数 | 1000 | 終了位置で 最終ページを自動判定 を選択した場合にリクエストを行う最大回数を指定します。 |
| リクエストのプレビュー | - | リクエスト時に付与されるクエリパラメータを確認できます。 |
ページベースの入力例は以下の通りです。
| 項目名 | 値 |
| --- | --- |
| 1リクエストの取得件数 | |
| 開始ページ | |
| 終了ページ | |
この場合、以下のようにパラメータが付与されたリクエストが実行されます。
1. `?per_page=100page=1`
2. `?per_page=100page=2`
3. `?per_page=100page=3`
4. `?per_page=100page=4`
*オフセットベースを選択した場合*
| 項目名 | デフォルト値 | 内容 |
| --- | --- | --- |
| 1リクエストの取得件数 | - | 1リクエストで取得するデータの件数を指定します。取得先のAPIによっては、上限が定められている場合があります。 |
| 開始位置 | - | ページングを開始するデータの位置を指定します。 |
| 終了位置 | 最終位置を自動判定 | 終了位置を判定する方法と、判定するための値を入力します。- 最終位置を自動判定:取得件数が0件になったらページングを終了します。
- 総レコード数のパスを指定:総レコード数が格納されているレスポンスのパスを[JSONPath記法](https://github.com/json-path/JsonPath#operators)で指定し、総レコード数に到達したらページングを終了します。
- 終了位置を指定:ページングを終了するデータの位置を指定します。
|
| 最大リクエスト数 | 1000 | 終了位置で 最終位置を自動判定 を選択した場合にリクエストを行う最大回数を指定します。 |
| リクエストのプレビュー | - | リクエスト時に付与されるクエリパラメータを確認できます。 |
オフセットベースの入力例は以下の通りです。
| 項目名 | 値 |
| --- | --- |
| 1リクエストの取得件数 | |
| 開始ページ | |
| 終了位置 | |
この場合、以下のリクエストパラメータが追加されます。
1. `?limit=100&offset=0`
2. `?limit=100&offset=100`
3. `?limit=100&offset=200`
4. `?limit=100&offset=300`
*カーソルベースを選択した場合*
:::(Warning) (ページングリクエストの完了条件)
カーソルベースのページング設定にした場合、レスポンスデータのカーソルが以下となるのが、リクエストの完了条件です。
- カーソルが含まれていない
- カーソルの値が`null`
そのため、データを取得したいサービスのAPI仕様が以下のいずれかの場合にのみ、カーソルベースをご利用いただけます。
- 後続ページがこれ以上存在しない場合、レスポンスデータにカーソルが含まれない
- 後続ページがこれ以上存在しない場合、レスポンスデータのカーソルの値が`null`
万一、上記仕様を満たさない仕様のAPIを利用して作成した転送設定でジョブを実行した場合は、リクエストの完了条件を満たせずジョブが終了しない可能性があります。
ジョブが終了しなくなった場合は、該当ジョブを手動でキャンセルしてください。
:::
| 項目名 | デフォルト値 | 内容 |
| --- | --- | --- |
| レスポンスデータに含まれるカーソルへのパス(JSONPath記法) | - | レスポンスデータからカーソルの値を取り出す際に使用します。
[JSONPath記法](https://github.com/json-path/JsonPath#operators)で入力します。 |
| 取得位置 | - | 前ページのレスポンスデータで受け取ったカーソルをセットするパラメータ名を入力します。 |
| 1リクエストの取得件数 | - | 1リクエストで取得するデータの件数を指定します。取得先のAPIによっては、上限が定められている場合があります。 |
カーソルベースのレスポンスデータの構造が、以下だった場合の入力例です。
```json
{
"items": [
{ ... },
{ ... },
...
],
"responseMetaData": {
"nextCursor": "SAMPLE_CURSOR",
...
},
...
}
```
| 項目名 | 値 |
| --- | --- |
| レスポンスデータに含まれるカーソルへのパス(JSONPath記法) | `$.responseMetaData.nextCursor` |
| 取得位置 | `cursor` |
| 1リクエストの取得件数 | |
この場合、`?cursor=SAMPLE_CURSOR&limit=100`のようなリクエストパラメータが追加されます。
例えば、レコードが550件存在するデータに対するリクエストであれば、上記のようなリクエストが6回実行されます。
5回目までのレスポンスには100レコード分のデータが含まれ、6回目のレスポンスには50レコード分のデータが含まれます。
後続のデータが存在しない6回目のレスポンスデータにはカーソルが含まれないため、7回目のリクエストは実行せず、データ取得は完了します。
#### 入力内容の自動生成について
カスタムコネクタで取得対象とするREST APIのAPIドキュメントURLを入力し、各種設定の入力内容を自動生成できます。
各項目で「提案を受け入れる」をクリックすると、生成した設定を入力できます。
自動生成に対応している項目は以下のとおりです。
* コネクタ情報・認証情報
* ベースURL
* 認証種別
* 認証ヘッダー名
* 認証スキーム
* エンドポイント
* パス
* HTTPメソッド
* パラメータ
* HTTPヘッダ
* JSONPathルート
* ページング設定
:::(Warning) (実行回数の制約)
入力内容の実行回数はアカウント全体で50回/月の制限があります。
:::