HTTP API
Create and manage schedule configurations that emit events at set or recurring moments using the REST API.
読み終わるまでの所要時間 2 分最終更新 23日前
Raw HTTP API を使用して、スケジュール設定を管理できます。スケジュール設定をデプロイすることにより、設定した時刻または反復的な瞬間にイベントを発行するスケジュールを作成します。
API の使用
Scheduler Admin API のドキュメントには、スケジュールの作成、読み取り、削除などの管理操作の詳細な説明が記載されています。 ドキュメントには、認証、エンドポイント、およびリクエストとレスポンスの形式に関する情報が、例とともに記載されています。これらを OpenAPI 形式でダウンロードし、独自の自動化を設定するために使用できます。 API を使用するには、サービスアカウント を使用して認証します。Authorization ヘッダー
リクエストを認証するには、Basic 認証 を使用します。サービスアカウントと base64 エンコード<KEY_ID>:<SECRET_KEY>Authorization--header 'Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS_ENCODED>' \
スケジュールのデプロイ
以下のリクエストを送信することで、反復的なスケジュール設定をリモート環境にデプロイできます。正常なレスポンスにはスケジュール ID が含まれます。例を次に示します。curl 'https://services.api.unity.com/scheduler/v1/projects/<PROJECT_ID>/environments/<ENVIRONMENT_ID>/configs' \--header 'Content-Type: application/json' \--header 'Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS_ENCODED>' \--data '{ "name": "Example Recurring every hour", "eventName": "example-event", "type": "recurring", "schedule": "0 * * * *", "payloadVersion": 1, "payload": "{}"}'
この ID を使用して、スケジュール設定を取得するか、それを削除できます。 スケジュール設定をデプロイすると、指定した時刻に自動的にトリガーされ、Triggers サービスにイベントが送信されます。{ "id": "f58a376c-2d4d-50a9-a231-61477fdaf5da"}
スケジュールの取得
以下のリクエストを送信することで、デプロイしたスケジュールを調べることができます。レスポンスは以下のようになります:curl 'https://services.api.unity.com/scheduler/v1/projects/<PROJECT_ID>/environments/<ENVIRONMENT_ID>/configs/<CONFIG_ID>' \--header 'Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS_ENCODED>'
レスポンスには以下のフィールドが含まれます。{ "id": "string", "name": "Example Recurring every hour", "eventName": "example-event", "type": "recurring", "schedule": "0 * * * *", "payloadVersion": 1, "payload": "{}"}
- : スケジュール設定 ID。
id - : スケジュール設定名。
name - : スケジュールがトリガーされるときに発行されるイベントの名前。
eventName - : スケジュール設定のタイプ。
typeまたはrecurringにすることができます。one-time - :
scheduleフィールドに応じて cron 形式または RFC3339 タイムスタンプでのスケジュール設定。type - : ペイロードのバージョン。
payloadVersion - : パラメーターを Cloud Code スクリプトまたはモジュールに転送するためにイベントペイロードとして使用される
payloadオブジェクト。JSON
レスポンスは以下のようになります:curl 'https://services.api.unity.com/scheduler/v1/projects/<PROJECT_ID>/environments/<ENVIRONMENT_ID>/configs' \--header 'Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS_ENCODED>'
クエリパラメーターを設定してページ処理を使用することもできます。例えば、最初の 2 つの設定を取得するには、以下のリクエストを送信します。{ "configs": [ { "id": "a0fa56fd-9763-5590-9452-769be3e6c5bb", "name": "Example One Time 2", "eventName": "example-event", "type": "one-time", "schedule": "2024-01-14T07:20:50Z", "payloadVersion": 1, "payload": "{}" }, { "id": "f58a376c-2d4d-50a9-a231-61477fdaf5da", "name": "Example Recurring every hour", "eventName": "example-event", "type": "recurring", "schedule": "0 * * * *", "payloadVersion": 1, "payload": "{}" }, { "id": "fb3e6636-1a99-5a82-97b4-74b5f6678bb2", "name": "Example One Time", "eventName": "example-event", "type": "one-time", "schedule": "2024-01-12T07:20:50Z", "payloadVersion": 1, "payload": "{}" } ], "after": ""}
レスポンスは以下のようになります。curl 'https://services.api.unity.com/scheduler/v1/projects/<PROJECT_ID>/environments/<ENVIRONMENT_ID>/configs?limit=2' \--header 'Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS_ENCODED>'
{ "configs": [ { "id": "f58a376c-2d4d-50a9-a231-61477fdaf5da", "name": "Example Recurring every hour", "eventName": "example-event", "type": "recurring", "schedule": "0 * * * *", "payloadVersion": 1, "payload": "{}" }, { "id": "a0fa56fd-9763-5590-9452-769be3e6c5bb", "name": "Example One Time 2", "eventName": "example-event", "type": "one-time", "schedule": "2024-01-14T07:20:50Z", "payloadVersion": 1, "payload": "{}" } ], "after": "<TOKEN>"}
after最後のスケジュールが返されます。curl 'https://services.api.unity.com/scheduler/v1/projects/<PROJECT_ID>/environments/<ENVIRONMENT_ID>/configs?limit=2&after=<TOKEN>' \--header 'Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS_ENCODED>'
{ "configs": [ { "id": "fb3e6636-1a99-5a82-97b4-74b5f6678bb2", "name": "Example One Time", "eventName": "example-event", "type": "one-time", "schedule": "2024-01-12T07:20:50Z", "payloadVersion": 1, "payload": "{}" } ], "after": ""}
スケジュールの削除
以下のリクエストを送信することで、スケジュール設定を削除できます。空のレスポンスは削除に成功したことを示します。curl --request DELETE 'https://services.api.unity.com/scheduler/v1/projects/<PROJECT_ID>/environments/<ENVIRONMENT_ID>/configs/<CONFIG_ID>' \--header 'Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS_ENCODED>'