기술 자료

지원

Cloud Code

Cloud Code

HTTP API

Manage Cloud Code modules using raw HTTP APIs and the Admin API.
읽는 시간 2분최근 업데이트: 2달 전

원시 HTTP API를 사용하여 Cloud Code 모듈을 관리할 수 있습니다.

API 사용

  • 관리자 API 기술 자료에는 모듈 생성, 읽기, 업데이트, 삭제 등 관리자 작업이 자세히 설명되어 있습니다.
  • 클라이언트 API 기술 자료에는 모듈 실행 등 클라이언트 측 작업이 자세히 설명되어 있습니다.
두 API 기술 자료 모두 인증, 엔드포인트, 요청, 응답 포맷에 대한 정보와 예시를 소개합니다. OpenAPI 포맷으로 기술 자료를 다운로드하여 직접 자동화를 설정하는 데 활용할 수 있습니다. 관리자 API를 사용하려면 서비스 계정을 사용하여 인증해야 합니다.

인증 헤더

요청을 인증하려면 기본 인증)을 사용합니다. 서비스 계정을 생성하고
<KEY_ID>:<SECRET_KEY>
를 base64로 인코딩하여 해당 값을
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"}
응답에는 다음 필드가 포함됩니다.

Field

설명

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": ""}
쿼리 파라미터를 설정하여 페이지를 지정할 수도 있습니다. 예를 들어, 처음 두 개의 모듈을 가져오려면 다음 요청을 전송하면 됩니다.
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>"}
next 링크를 따라가면 이어지는 두 모듈을 받을 수 있습니다.

모듈 삭제

다음 요청을 전송하여 모듈을 삭제할 수 있습니다.
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>'
예시를 보려면 관리자 API 사양을 참고하십시오. 응답 mime 유형은 텍스트나 HTML 포맷입니다. yaml 포맷으로 openAPI 사양을 다운로드하려면 Unity Cloud Dashboard의 Modules 페이지에서 사양을 다운로드하면 됩니다. 자세한 내용은 Unity Cloud Dashboard 사용을 참고하십시오.