メイン コンテンツをスキップする 補完的コンテンツへスキップ

サービスアカウントを使ってタスクを実行

サービスアカウントを使って、https://api.<env>.cloud.talend.com/processing/executionsエンドポイントでタスクを実行します。

始める前に

  • APIコールの発行に使用するサービスアカウントが適切な権限を持っていることを確認します。この権限は次のいずれかとなります。 これらのいずれかの権限に加えて、実行するタスクが属するワークスペースの[Execute] (実行)権限もサービスアカウントに付与される必要があります。まだ付与されていない場合は、ワークスペース権限をサービスアカウントに割り当てに従って権限を割り当ててください。
  • 生成されたサービスアカウントトークンは30分後に期限切れになります。期限切れになった場合は、エンドポイントhttps://api.<env>.cloud.talend.com/security/oauth/tokenPOSTメソッドを使って新しいトークンを生成します。トークンの生成に関する詳細は、サービスアカウントトークンを生成をご覧ください。

このタスクについて

このセクションでは次のAPIコールが発行されます。
method: POST
endpoint:  https://api.<env>.cloud.talend.com/processing/executions
headers: {
 "Content-Type": "application/json",
 "Authorization": "Bearer <service_account_token>"
}
payload: {
  "executable": "id_of_the_task_to_be_run",
  "logLevel": "WARN"
}
デモンストレーションのため、Talend API Testerに実装されています。Talend API Testerでは、式ビルダーを使って、関連するAPIリクエストからサービスアカウントトークンを動的に取得できます。

手順

  1. [Method] (メソッド)リストでPOSTを選択し、横にあるフィールドに、使用するユーザー管理エンドポイントとして https://api.<env>.cloud.talend.com/processing/executionsと入力します。

    POSTメソッドが選択され、使用するユーザー管理のエンドポイントが指定されている状態。
  2. [Add header] (ヘッダーを追加)をクリックします。表示される[name] (名前)フィールドにContent-Typeと、[value] (値)フィールドにapplication/jsonとそれぞれ入力します。
  3. [Add header] (ヘッダーを追加)をもう一度クリックし、[name] (名前)フィールドにAuthorizationを、[value] (値)フィールドにBearerとサービスアカウントアクセストークンをそれぞれテキスト形式で入力するか、をクリックして動的式をビルドします。Bearerとトークンの間に空白を入力して区切ります。

    現在のトークンの有効期限が切れた場合は更新する必要があるため、APIトークンリクエストによって最新のトークンが更新されると動的に使用されるよう、式でAPIリクエストを有効にすることをお勧めします。
    式ビルダー。

    Talend API Testerでは、式ビルダーを使って式を書くことができます。なお、APIトークンリクエストはお持ちのリポジトリーに保存されていることが必要です。前のセクションで、このAPIリクエストはRenew the SATと名付けられ保存されています。

    これによってAuthorizationの値は次のようになります。
    Bearer ${"service-account 2021"."Service Account Token scenario"."Reniew the SAT"."response"."body"."access_token"}
  4. [BODY] (ボデイ)エリアには、サービスアカウントで実行するタスクを指定する情報を入力します。

    {
      "executable": "id_of_the_task_to_be_run",
      "logLevel": "WARN"
    }
    この例ではボディでパラメーターが指定されていませんが、これは実行タスクがその作成時に同じく作成されたデフォルトのパラメーターを使用できるようするためです。接続パラメーターなどのタスクパラメーターにカスタム値を使用する必要がある場合は、これらのパラメーターをボディに追加します。例:
    "parameters": [
        {
          "name": "authentication_type",
          "value": "Basic",
          "encrypted": false
        },
        {
          "name": "basic_username",
          "value": "my_user_name",
          "encrypted": false
        },
        {
          "name": "basic_password",
          "value": "my_password",
          "encrypted": true
        },
        {
          "name": "basic_security_token",
          "value": "my_salesforce_security_token",
          "encrypted": true
        }
      ]
  5. リクエストを送信して保存します。

タスクの結果

この実行のIDがステータスコード201で返されます。
{
  "executionId": "16fefb53-035a-4249-af9d-f80a3b47b132"
}

次のタスク

このIDを/executions/{runId}/logsエンドポイントで使って、このタスクの実行を監視します。詳細は、タスク実行を監視をご覧ください。
情報メモ注: このドキュメンテーションでは、runIdexecutionIdの両方がタスク実行のIDを参照します。

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。