# タスクにスケジュールを適用

関連付け、つまり微調整されたスケジュールをタスクに割り当てます。必要であればこの関連付けを取り消し、最終的にスケジュールを削除します。

1つのスケジュールに関連付けることができるタスクやプランは1つのみです。スケジュールを他のタスクやプランに割り当てる前に、まず割り当て解除する必要があります。他のタスクやプランが同時にこのスケジュールを使う必要がある場合は、[スケジュールを複製](https://help.qlik.com/talend/ja-JP/api-user-guide/Cloud/duplicate-schedule-to-reuse)の説明に従ってそれを複製します。

## 始める前に

* TMCトークンを生成:

  * ユーザーの場合は、[パーソナルアクセストークンを生成](https://help.qlik.com/talend/r/ja-JP/Cloud/management-console-user-guide/cloud-access-token)に従ってパーソナルアクセストークンを生成します。
  * サービスアカウントの場合は、[サービスアカウントトークンを生成](https://help.qlik.com/talend/r/ja-JP/Cloud/api-user-guide/generate-service-account-token)に従ってサービスアクセストークンを生成します。

  生成されたサービスアカウントトークンは30分後に期限切れになります。期限切れになった場合は、エンドポイントhttps://api.&lt;env&gt;.cloud.talend.com/security/oauth/tokenでPOSTメソッドを使って新しいトークンを生成します。トークンの生成に関する詳細は、[サービスアカウントトークンを生成](https://help.qlik.com/talend/r/ja-JP/Cloud/api-user-guide/generate-service-account-token)をご覧ください。

* イベントをシミュレートする必要があるスケジュールのIDを知っていること。

* スケジュールの関連付けに必要なタスクのIDを知っていること。

  Talend Management Consoleの場合、このIDはこのタスクの専用ページに表示されます。例: ![タスクのページにあるタスクID。](https://help.qlik.com/talend/ja-JP/api-user-guide/Resources/images/tmc-task-id.png) タスクIDは以下のAPIリクエストで取得することもできます。

  ```
  method: GET
  endpoint: https://api.<env>.cloud.talend.com/processing/executables/tasks
  headers: {
            "Content-Type": "application/json",
            "Authorization": "Bearer <your_personal_or_service_account_access_token>"
            }
  query parameters: {
            "workspaceId": "id_of_the_workspace_of_the_task_to_be_updated"
                    }
  ```

* アップデートするタスクが属するスペースで、使用するユーザーまたはサービスアカウントがTMC\_OPERATORロールとEXECUTOR権限を持っていること。

## 手順

1. 次のリクエストを発行して、スケジュールをタスクに関連付けます。これによって、タスクがこのスケジュールに従って実行されるようにトリガーされます。
   ### 例

   タスクの既存のトリガーがすべてこのスケジュールのトリガーに置き換わります。既存のトリガーを保存するタスクを必要とする場合、この関連付けを開始する前に、前のセクションで説明されているように関連付けるスケジュールで同じトリガーを定義します。

   これによって、新しいトリガーと既存のトリガーの両方がスケジュールと共にタスクに追加されます。
   ```
   method: PUT
   endpoint: https://api.<env>.cloud.talend.com/orchestration/executables/tasks/<taskId>/schedule
   headers: {
         "Content-Type": "application/json",
         "Authorization": "Bearer <your_personal_access_token_or_service_account_token>"
             }
   payload: {
          "scheduleId": "schedule_id"
             }
   ```
2. 次のAPIコールを発行して、このスケジュールとタスクの関連付けを解除します。スケジュールを削除できるのは独立している時のみであるため、削除する必要がある場、このステップは必須です。
   ### 例
   ```
   method: DELETE
   endpoint: https://api.<env>.cloud.talend.com/orchestration/executables/tasks/<taskId>/schedule
   headers: {
         "Content-Type": "application/json",
         "Authorization": "Bearer <your_personal_access_token_or_service_account_token>"
             }
   payload: N/A
   ```

   このリクエストにより、お持ちのタスクがスケジュールから割り当て解除されます。スケジュールは独立したので削除できます。

   このスケジュールの詳細情報を知る必要のある場合、次のAPIリクエストを発行します:
   ```
   method: GET
   endpoint: https://api.<env>.cloud.talend.com/orchestration/schedules/<scheduleId>
   headers: {
         "Content-Type": "application/json",
         "Authorization": "Bearer <your_personal_access_token_or_service_account_token>"
             }
   payload: N/A
   ```

   このタスクが属しているスペースのVIEW権限が必要です。
3. このスケジュールは独立しているため、次のAPIリクエストを使用してスケジュールを削除します。
   ### 例
   ```
   method: DELETE
   endpoint: https://api.<env>.cloud.talend.com/orchestration/schedules/<scheduleId>
   headers: {
         "Content-Type": "application/json",
         "Authorization": "Bearer <your_personal_access_token_or_service_account_token>"
             }
   payload: N/A
   ```

## タスクの結果

スケジュールは削除されました。