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를 사용하려면 서비스 계정을 사용하여 인증해야 합니다.
인증 헤더
요청을 인증하려면 기본 인증)을 사용합니다. 서비스 계정을 생성하고 를 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"}
응답에는 다음 필드가 포함됩니다.
Field | 설명 |
|---|---|
| 모듈 이름입니다. |
| 모듈 언어입니다. 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>'
응답의 예시는 다음과 같습니다.
{ "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 사용을 참고하십시오.