기술 자료

지원

Cloud Code

Cloud Code

HTTP API

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

원시 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"'
참고
참고: 스토리지 제한 사항이 적용됩니다. Cloud Code 제한 사항을 확인하십시오.
모듈을 배포하고 나면 모듈 엔드포인트 호출을 시작할 수 있습니다.

모듈 업데이트

다음 요청을 전송하여 모듈 파일, 해당 태그 또는 둘 다를 업데이트할 수 있습니다.
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 Dashboard의 Modules 페이지에서 사양을 다운로드하면 됩니다. 자세한 내용은 Unity Dashboard 사용을 참고하십시오.