ドキュメント

サポート

Cloud Code

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 のドキュメントには、モジュールの実行などのクライアント側操作の詳細な説明が記載されています。
どちらの API ドキュメントにも、認証、エンドポイント、およびリクエストとレスポンスの形式に関する情報が、例とともに記載されています。これらを OpenAPI 形式でダウンロードし、独自の自動化を設定するために使用できます。 Admin 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"}
レスポンスには以下のフィールドが含まれます。

フィールド

説明

name
モジュールの名前。
language
モジュールの言語。Cloud Code モジュールでサポートされるのは C# のみです。
tags
キーと値のペアとして定義されたカスタムユーザータグ。
signedDownloadURL
モジュール zip ファイルをダウンロードするための URL。
dateCreated
モジュールが作成された日付。
dateModified
モジュールが最後に変更された日付。
endpoints
モジュールに定義されたエンドポイントのリスト (キーと値のペアとして定義されています)。各エンドポイントには、パラメーター (キーと値のペア) のリストとエンドポイントの戻り値の型が含まれます。
hasError
これが表示されるのは、エンドポイント生成のエラーまたはモジュール内のエラーなど、モジュールにエラーがある場合です。
errorMessage
モジュールにエラーがある場合のエラーメッセージ。これが含まれるのは、モジュールにエラーがある場合のみです。
デプロイしたすべてのモジュールをプレビューするには、以下のリクエストを送信します。
curl 'https://services.api.unity.com/cloud-code/v1/projects/<PROJECT_ID>/environments/<ENVIRONMENT_ID>/modules' \--header 'Authorization: Basic <SERVICE_ACCOUNT_CREDENTIALS_ENCODED>'
レスポンスは以下のようになります:
{ "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": ""}
クエリパラメーターを設定してページ処理を使用することもできます。例えば、最初の 2 つのモジュールを取得するには、以下のリクエストを送信します。
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>'
レスポンスは以下のようになります。
{ "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>"}
次のリンクをたどると、次の 2 つのモジュールを取得できます。

モジュールの削除

以下のリクエストを送信することで、モジュールを削除できます。
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 仕様を取得するには、以下のリクエストを送信します。
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>'
例については、Admin API の仕様を参照してください。 レスポンスの mime タイプは text/html 形式です。yaml 形式の openAPI 仕様をダウンロードするには、Unity Cloud Dashboard の Modules (モジュール) ページから仕様をダウンロードします。詳細については、Unity Cloud Dashboard の使用 を参照してください。