カスタムコネクタを作成する
    • PDF

    カスタムコネクタを作成する

    • PDF

    記事の要約

    本ページでは、Connector Builderでカスタムコネクタを作成する手順について説明します。
    接続情報や転送に関する設定については、以下のドキュメントを参照ください。

    作成したカスタムコネクタの操作
    • 作成したカスタムコネクタは、他のユーザーも編集・削除できます。
    • カスタムコネクタを削除すると、対象のカスタムコネクタを使用した接続情報も削除されます。

    事前準備

    カスタムコネクタを作成する前に、データ取得対象のデータソース側にて事前準備が必要となります。

    APIキーを使って認証する場合

    データソースとなるサービスで事前にAPIキーを発行する必要があります。

    OAuth2を使って認証する場合

    データソースとなるサービスで事前にクライアントアプリを作成する必要があります。

    認可コードをグラントタイプとする場合は、クライアントアプリ側でリダイレクトURLの指定が必要です。
    以下のURLをクライアントアプリ作成時に指定してください。
    https://trocco.io/connections/custom_connector/callback

    詳しくは、クライアントアプリの作成手順を参照ください。

    入力項目

    基本情報

    項目名必須説明
    名前YesTROCCO内部で利用する接続情報の名前を入力します。
    メモNoTROCCO内部で利用する接続情報のメモを入力できます。

    コネクタ情報

    項目名必須説明
    APIドキュメントURLNoカスタムコネクタで取得対象とするREST APIのAPIドキュメントを入力し、認証情報を自動入力できます。
    詳しくは、入力内容の自動生成についてを参照ください。
    ベースURLYesカスタムコネクタで取得対象とするREST APIのベースURLを入力します。
    ベースURLとは、APIのすべてのエンドポイントにアクセスする際の基本となるURLです。
    例:https://api.example.com/api/v1

    認証情報

    項目名必須説明
    認証種別Yes認証種別を選択します。APIキーまたはOAuth2による認証に対応しています。
    選択した認証種別によって、認証情報で入力する項目が変わります。

    認証種別でOAuth2を選択した場合の追加項目

    項目名必須デフォルト値説明
    グラントタイプYes認可コードOAuthで認証を付与する方式(グラントタイプ)を選択します。
    取得対象のAPIで利用できるグラントタイプを選択してください。
  • 認可コード
  • クライアントクレデンシャルズ
  • 認可URLYes-グラントタイプに認可コードを選択した場合のみ、入力が必要な項目です。
    OAuthの認可サーバーへの遷移先となる認可URLを入力します。利用するOAuthサービスから取得してください。
    アクセストークンURLYes-OAuthにアクセストークンをリクエストする先となるアクセストークンURLを入力します。利用するOAuthサービスから取得してください。

    各認証種別で共通の項目

    項目名必須デフォルト値説明
    認証ヘッダー名YesAuthorizationAPIキーを送信するヘッダーの名称を入力します。
    認証スキームNoBearer認証情報のスキームを入力します。

    エンドポイント

    カスタムコネクタで取得対象とするAPIのエンドポイントごとに設定を追加します。

    項目名必須デフォルト値説明
    名前Yes-エンドポイントの名前を入力します。
    パスYes-ベースURLで指定したURL部分を除いた、APIエンドポイントのパスを入力します。
    HTTPメソッドYesGETHTTPメソッドを選択します。
    GETのみサポートしています。
    APIドキュメントURLNoカスタムコネクタで取得対象とするREST APIのAPIドキュメントを入力し、各種設定を自動入力できます。
    詳しくは、入力内容の自動生成についてを参照ください。
    パラメータNo-リクエストに必要なパラメータを設定します。
  • パラメータ名:実際に付与するパラメータの名称を設定します。
  • 表示名:転送設定でパラメータを設定する際の表示名を入力します。
  • デフォルト値:パラメータのデフォルト値を入力します。
  • 編集可能:チェックを入れた場合、転送設定時にパラメータの値を入力できるようになります。
  • 必須:チェックを入れた場合、転送設定時にパラメータの値の入力が必須になります。
  • HTTPヘッダNo-リクエストに必要なHTTPヘッダを設定します。
  • デフォルト値:パラメータのデフォルト値を入力します。
  • 編集可能:チェックを入れた場合、転送設定時にパラメータの値を入力できるようになります。
  • 必須:チェックを入れた場合、転送設定時にパラメータの値の入力が必須になります。
  • JSONPathルートYes$.*レスポンスからデータを抽出する際のルートとするパスをJSONPath記法で指定します。
    ページング設定Yesページング設定を以下より選択します。
  • 無効
  • ページベース
  • オフセットベース
  • カーソルベース
  • ページングリクエストを使用する場合は、リクエスト先の仕様に応じてページングを設定してください。
    詳しくは、ページング設定を参照ください。

    ステータスコード設定

    項目名必須デフォルト値説明
    転送データ取得時に正常系と判定するステータスコードYes200データ取得の成功とみなすレスポンスのステータスコードを指定します。
    カンマ区切りで複数指定できます。
    失敗時にリトライするステータスコードYes400,401,403,404データ取得の失敗とみなし再取得を実行するレスポンスのステータスコードを指定します。Rate limit時のステータスや、サーバー側のエラーなどのステータスコードの設定を推奨します。
    カンマ区切りで複数指定できます。

    接続テスト

    設定したエンドポイントの接続を確認できます。

    接続テストには事前に接続情報を設定する必要があるため、一度カスタムコネクタを作成して接続情報を設定したのち、テストしてください。

    項目名必須デフォルト値説明
    接続確認に利用する接続情報Yes-接続テストに利用する接続情報を選択します。
    必須パラメータNo-エンドポイント設定で「必須」としたパラメータの値を入力できます。
    必須ヘッダーNo-エンドポイント設定で「必須」としたHTTPヘッダの値を入力できます。

    ページング設定について

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

    ページベースを選択した場合

    項目名デフォルト値内容
    1リクエストの取得件数-1リクエストで取得するデータの件数を指定します。取得先のAPIによっては、上限が定められている場合があります。
    開始ページ-ページングを開始するページ数を指定します。
    終了位置最終ページを自動判定終了位置を判定する方法と、判定するための値を入力します。
  • 最終ページを自動判定:取得件数が0件になったらページングを終了します。
  • 総ページ数のパスを指定:総ページ数が格納されているレスポンスのパスをJSONPath記法で指定し、総ページ数に到達したらページングを終了します。
  • 終了ページを指定:ページングを終了するページ数を指定します。
  • リクエストのプレビュー-リクエスト時に付与されるクエリパラメータを確認できます。

    ページベースの入力例は以下の通りです。

    項目名
    1リクエストの取得件数
  • パラメータ名:per_page
  • 値:100
  • 開始ページ
  • パラメータ名:page
  • 値:1
  • 終了位置
  • 終了判定方法:終了ページを指定
  • 値:4
  • この場合、以下のようにパラメータが付与されたリクエストが実行されます。

    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記法で指定し、総レコード数に到達したらページングを終了します。
  • 終了位置を指定:ページングを終了するデータの位置を指定します。
  • リクエストのプレビュー-リクエスト時に付与されるクエリパラメータを確認できます。

    オフセットベースの入力例は以下の通りです。

    項目名
    1リクエストの取得件数
  • パラメータ名:limit
  • 値:100
  • 開始ページ
  • パラメータ名:offset
  • 値:0
  • 終了位置
  • 終了判定方法:終了位置を指定
  • 値:399
  • この場合、以下のリクエストパラメータが追加されます。

    1. ?limit=100&offset=0
    2. ?limit=100&offset=100
    3. ?limit=100&offset=200
    4. ?limit=100&offset=300

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

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

    カーソルベースのページング設定にした場合、レスポンスデータのカーソルが以下となるのが、リクエストの完了条件です。

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

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

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

    万一、上記仕様を満たさない仕様のAPIを利用して作成した転送設定でジョブを実行した場合は、リクエストの完了条件を満たせずジョブが終了しない可能性があります。
    ジョブが終了しなくなった場合は、該当ジョブを手動でキャンセルしてください。

    項目名デフォルト値内容
    レスポンスデータに含まれるカーソルへのパス(JSONPath記法)-レスポンスデータからカーソルの値を取り出す際に使用します。
    JSONPath記法で入力します。
    取得位置-前ページのレスポンスデータで受け取ったカーソルをセットするパラメータ名を入力します。
    1リクエストの取得件数-1リクエストで取得するデータの件数を指定します。取得先のAPIによっては、上限が定められている場合があります。

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

    {
      "items": [
        { ... },
        { ... },
        ...
      ],
      "responseMetaData": {
        "nextCursor": "SAMPLE_CURSOR",
        ...
      },
      ...
    }
    
    項目名
    レスポンスデータに含まれるカーソルへのパス(JSONPath記法)$.responseMetaData.nextCursor
    取得位置cursor
    1リクエストの取得件数
  • パラメータ名:limit
  • 値:100
  • この場合、?cursor=SAMPLE_CURSOR&limit=100のようなリクエストパラメータが追加されます。

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

    入力内容の自動生成について

    カスタムコネクタで取得対象とするREST APIのAPIドキュメントURLを入力し、各種設定の入力内容を自動生成できます。
    各項目で「提案を受け入れる」をクリックすると、生成した設定を入力できます。

    自動生成に対応している項目は以下のとおりです。

    • コネクタ情報・認証情報
      • ベースURL
      • 認証種別
      • 認証ヘッダー名
      • 認証スキーム
    • エンドポイント
      • パス
      • HTTPメソッド
      • パラメータ
      • HTTPヘッダ
      • JSONPathルート
      • ページング設定
    実行回数の制約

    入力内容の実行回数はアカウント全体で50回/月の制限があります。


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