Put Action
- 인쇄
- PDF
Put Action
- 인쇄
- PDF
기사 요약
이 요약이 도움이 되었나요?
의견을 보내 주셔서 감사합니다.
Classic/VPC 환경에서 이용 가능합니다.
Cloud Functions 액션을 생성, 수정합니다.
요청
요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.
메서드 | URI |
---|---|
PUT | /packages/{packageName}/actions/{actionName} |
요청 헤더
Cloud Functions API에서 공통으로 사용하는 헤더에 대한 자세한 내용은 Cloud Functions 공통 헤더를 참조해 주십시오.
요청 경로 파라미터
파라미터에 대한 설명은 다음과 같습니다.
필드 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
packageName | String | Required | 패키지 이름
|
actionName | String | Required | 액션 이름
|
요청 쿼리 파라미터
파라미터에 대한 설명은 다음과 같습니다.
필드 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
platform | String | Optional | 플랫폼 구분
|
type | String | Optional | 액션 유형
|
요청 바디
요청 바디에 대한 설명은 다음과 같습니다.
Basic/Web 액션
파라미터에 대한 설명은 다음과 같습니다.
필드 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
description | String | Optional | 액션 설명(Byte)
|
parameters | Object | Optional | 액션의 기본 파라미터
|
limits.timeout | Integer | Required | 액션 실행 최대 시간(밀리초)
|
limits.memory | Integer | Required | 액션 최대 메모리 크기(MB)
|
exec.kind | String | Required | 액션 런타임 |
exec.imageUri | String | Conditional | 사용자 이미지 경로
|
exec.binary | Boolean | Required | 액션 코드 파일 바이너리 여부
|
exec.code | String | Required | 액션 소스 코드
|
exec.main | String | Required | 실행 함수 |
vpc | Object[] | Required | 연결할 VPC 정보
|
vpc[].vpcNo | Integer | Required | 연결할 VPC ID |
vpc[].subnetNo | Integer | Required | 연결할 Subnet ID |
raw-http | Boolean | Optional | HTTP 원문 사용 여부
|
custom-options | Boolean | Optional | HTTP 헤더 옵션 설정
|
Sequence/Sequence-web 액션
파라미터에 대한 설명은 다음과 같습니다.
필드 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
description | String | Optional | 액션 설명(Byte)
|
exec.kind | String | Required | 액션 종류
|
exec.components | String[] | Required | 시퀀스 액션에 연결할 액션 리스트
|
요청 예시
요청 예시는 다음과 같습니다.
curl -X PUT 'https://cloudfunctions.apigw.ntruss.com/ncf/api/v2/packages/{packageName}/actions/{actionName}' \
--header 'Content-Type: application/json' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Sub Account Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}'
-d '<하단 참조>'
{
"description" : "My action",
"parameters": {
"name": "Cloud Functions",
"place": "NCloud"
},
"limits": {
"timeout": 60000,
"memory": 128
},
"exec": {
"kind": "nodejs:16",
"code": "function main(params) { \nlet name = params.name || \"World\";\nlet place = params.place || \"Naver\"; \n return {payload: \"abc\"};\n}",
"binary": false,
"main": "main"
},
"vpc": [
{
"vpcNo" : ******,
"subnetNo" : *****
}
]
}
응답
응답 형식을 설명합니다.
응답 바디
응답 바디에 대한 설명은 다음과 같습니다.
공통 필드
필드 | 타입 | 설명 |
---|---|---|
content.name | String | 액션 이름 |
content.resourceId | String | 액션의 리소스 ID |
content.path | String | 액션 경로 |
content.description | String | - |
content.type | String | - |
Basic/Web 액션
필드 | 타입 | 설명 |
---|---|---|
content.parameters | Object | 액션의 기본 파라미터 |
content.raw-http | Boolean | HTTP 원문 사용 여부
|
content.custom-options | Boolean | 헤더 옵션 설정
|
content.exec.binary | Boolean | 액션 코드의 파일 바이너리 여부 |
content.exec.code | String | 액션 소스 코드 또는 Base64-encoded 코드 파일 바이너리 |
content.exec.imageUri | String | 사용자 이미지 경로
|
content.exec.kind | String | 액션 런타임 |
content.exec.main | String | 실행 함수 |
content.limits.memory | Integer | 액션 컨테이너에 할당되는 메모리 크기 |
content.limits.timeout | Integer | 액션이 실행될 수 있는 최대 시간 |
content.vpc | Object[] | - |
content.vpc[].vpcNo | Integer | - |
content.vpc[].subnetNo | Integer | - |
Sequence/Web-sequence 액션
필드 | 타입 | 설명 |
---|---|---|
content.exec.kind | String | 액션 종류
|
content.exec.components | String[] | 연결된 액션 리스트 |
응답 상태 코드
응답 상태 코드에 대한 설명은 다음과 같습니다.
HTTP 상태 코드 | 코드 | 메시지 | 설명 |
---|---|---|---|
400 | 80300 | ACTION_INVALID_NAME | 잘못된 액션 이름 |
400 | 80102 | PACKAGE_PLATFORM_MISMATCH | 액션 상위 패키지의 플랫폼 변경 불가 |
400 | 80302 | ACTION_PLATFORM_MISMATCH | 액션의 플랫폼 변경 불가 |
400 | 80303 | ACTION_INVALID_TYPE | 잘못된 액션 타입 |
400 | 80304 | ACTION_TYPE_MISMATCH | 액션의 타입 변경 불가 |
400 | 80305 | ACTION_BODY_INVALID_TYPE | 잘못된 요청 바디 필드 타입 |
400 | 80306 | ACTION_BODY_MISSING_FIELD | 필수 요청 바디 필드 누락 |
400 | 80307 | ACTION_BODY_INVALID_VALUE | 잘못된 요청 바디 필드 값 |
403 | 80002 | SUB_ACC_NO_PERMISSION | 상세 권한 오류 |
409 | 80011 | RESOURCE_NAME_CONFLICT | 중복된 리소스 이름 |
422 | 80308 | ACTION_COUNT_EXCEED | 최대 액션 개수 초과 |
500 | 81311 | ACTION_NAT_EXCEPTION | 서브넷 조회 실패 |
500 | 81312 | NAT_CREATE_FAIL | 서브넷 연결 실패 |
500 | 81313 | NAT_BEING_CREATED | 서브넷 연결 중 |
500 | 81314 | NAT_RETURN_FAIL | 서브넷 연결 해지 중 |
응답 예시
응답 예시는 다음과 같습니다.
{
"content": {
"description": "My action",
"exec": {
"binary": false,
"code": "function main(params) { \nlet name = params.name || \"World\";\nlet place = params.place || \"Naver\"; \n return {payload: \"abc\"};\n}",
"kind": "nodejs:16",
"main": "main"
},
"limits": {
"memory": 128,
"timeout": 60000
},
"name": "myaction",
"parameters": {
"name": "Cloud Functions",
"place": "NCloud"
},
"path": "***QK06kFG8C/mypackage",
"resourceId": "*****",
"type": "basic",
"vpc": [
{
"subnetNo": ******,
"vpcNo": *****
}
]
}
}
이 문서가 도움이 되었습니까?