HTTP API
Manage Cloud Code modules using raw HTTP APIs and the Admin API.
読み終わるまでの所要時間 3 分最終更新 23日前
Raw HTTP API を使用して、Cloud Code モジュールを管理できます。
API の使用
- Admin API のドキュメントには、モジュールの作成、読み取り、更新、削除などの管理操作の詳細な説明が記載されています。
- Client API のドキュメントには、モジュールの実行などのクライアント側操作の詳細な説明が記載されています。
Authorization ヘッダー
リクエストを認証するには、Basic 認証) を使用します。サービスアカウントと base64 エンコード<KEY_ID>:<SECRET_KEY>Authorization--header 'Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS_ENCODED>' \
モジュールのデプロイ
モジュールをデプロイする前に、それを作成する必要があります。API を使用してモジュールをデプロイする場合は、手動ワークフロー に従うことをお勧めします。以下のリクエストを送信することで、モジュールの zip をリモート環境にデプロイできます。curl 'https://services.api.unity.com/cloud-code/v1/projects/<PROJECT_ID>/environments/<ENVIRONMENT_ID>/modules' \--header 'Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS_ENCODED>' \--form 'name="Module"' \--form 'tags="{}"' \--form 'language="CS"' \--form 'file=@"Module.zip"'
モジュールをデプロイしたら、モジュールエンドポイントの呼び出しを開始できます。
モジュールの更新
以下のリクエストを送信することで、モジュールファイル、そのタグ、またはその両方を更新できます。モジュールエンドポイントの呼び出しでは、更新されたモジュールファイルが使用されます。curl--request PATCH 'https://services.api.unity.com/cloud-code/v1/projects/<PROJECT_ID>/environments/<ENVIRONMENT_ID>/modules/<MODULE_NAME>' \--header 'Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS_ENCODED>' \--form 'tags="{}"' \--form 'file=@"Module.zip"'
モジュールの取得
以下のリクエストを送信することで、デプロイしたモジュールを調べることができます。レスポンスは以下のようになります:curl --location 'https://services.api.unity.com/cloud-code/v1/projects/<PROJECT_ID>/environments/<ENVIRONMENT_ID>/modules/<MODULE_NAME>' \--header 'Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS_ENCODED>'
レスポンスには以下のフィールドが含まれます。{ "name": "string", "language": "CS", "tags": { "property1": "string", "property2": "string" }, "signedDownloadURL": "string", "dateCreated": "2022-04-05T09:12:13Z", "dateModified": "2022-04-05T09:12:13Z", "endpoints": { "ModuleEndpoint": { "parameters": { "parameter1": "System.String", "parameter2": "System.String" }, "returnType": "System.Void" } }, "hasError": true, "errorMessage": "error message"}
フィールド | 説明 |
|---|---|
| モジュールの名前。 |
| モジュールの言語。Cloud Code モジュールでサポートされるのは C# のみです。 |
| キーと値のペアとして定義されたカスタムユーザータグ。 |
| モジュール zip ファイルをダウンロードするための URL。 |
| モジュールが作成された日付。 |
| モジュールが最後に変更された日付。 |
| モジュールに定義されたエンドポイントのリスト (キーと値のペアとして定義されています)。各エンドポイントには、パラメーター (キーと値のペア) のリストとエンドポイントの戻り値の型が含まれます。 |
| これが表示されるのは、エンドポイント生成のエラーまたはモジュール内のエラーなど、モジュールにエラーがある場合です。 |
| モジュールにエラーがある場合のエラーメッセージ。これが含まれるのは、モジュールにエラーがある場合のみです。 |
レスポンスは以下のようになります:curl 'https://services.api.unity.com/cloud-code/v1/projects/<PROJECT_ID>/environments/<ENVIRONMENT_ID>/modules' \--header 'Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS_ENCODED>'
クエリパラメーターを設定してページ処理を使用することもできます。例えば、最初の 2 つのモジュールを取得するには、以下のリクエストを送信します。{ "results": [ { "name": "Module", "language": "CS", "signedDownloadURL": "example.com", "dateCreated": "2023-04-24T14:06:02Z", "dateModified": "2023-04-24T14:06:02Z" }, { "name": "AnotherModule", "language": "CS", "signedDownloadURL": "example.com", "dateCreated": "2023-06-20T10:54:55Z", "dateModified": "2023-06-20T13:55:22Z" }, { "name": "OtherModule", "language": "CS", "signedDownloadURL": "example.com", "dateCreated": "2023-03-28T10:18:21Z", "dateModified": "2023-03-28T10:18:21Z" } ], "links": { "next": null }, "nextPageToken": ""}
レスポンスは以下のようになります。curl 'https://services.api.unity.com/cloud-code/v1/projects/<PROJECT_ID>/environments/<ENVIRONMENT_ID>/modules?limit=2' \--header 'Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS_ENCODED>'
次のリンクをたどると、次の 2 つのモジュールを取得できます。{ "results": [ { "name": "PostmanTest", "language": "CS", "signedDownloadURL": "example.com", "dateCreated": "2023-04-24T14:06:02Z", "dateModified": "2023-04-24T14:06:02Z" }, { "name": "TestModule", "language": "CS", "signedDownloadURL": "example.com", "dateCreated": "2023-06-20T10:54:55Z", "dateModified": "2023-06-20T13:55:22Z" } ], "links": { "next": "/v1/projects/<PROJECT_ID>/environments/<ENVIRONMENT_ID>/modules?after=<TOKEN>&limit=2" }, "nextPageToken": "<TOKEN>"}
モジュールの削除
以下のリクエストを送信することで、モジュールを削除できます。空のレスポンスは削除に成功したことを示します。curl --request DELETE 'https://services.api.unity.com/cloud-code/v1/projects/<PROJECT_ID>/environments/<ENVIRONMENT_ID>/modules/<MODULE_NAME>' \--header 'Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS_ENCODED>'
モジュールの API の仕様
所定のモジュールの Open API 仕様を取得するには、以下のリクエストを送信します。例については、Admin API の仕様を参照してください。 レスポンスの mime タイプは text/html 形式です。yaml 形式の openAPI 仕様をダウンロードするには、Unity Cloud Dashboard の Modules (モジュール) ページから仕様をダウンロードします。詳細については、Unity Cloud Dashboard の使用 を参照してください。curl 'https://services.api.unity.com/cloud-code/v1/projects/<PROJECT_ID>/environments/<ENVIRONMENT_ID>/modules/<MODULE_NAME>/spec' \--header 'Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS_ENCODED>'