--- title: "Put Action" slug: "compute-cloudfunctions-v2-putaction" updated: 2026-09-17T09:10:13Z published: 2026-09-17T09:10:13Z canonical: "api-fin.ncloud-docs.com/compute-cloudfunctions-v2-putaction" --- > ## Documentation Index > Fetch the complete documentation index at: https://api-fin.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Put Action Cloud Functions 액션을 생성, 수정합니다. ## 요청 요청 형식을 설명합니다. 요청 형식은 다음과 같습니다. | 메서드 | URI | | --- | --- | | PUT | /ncf/api/v2/packages/{packageName}/actions/{actionName} | ### 요청 헤더 Cloud Funtions API에서 공통으로 사용하는 헤더에 대한 정보는 [Cloud Functions 요청 헤더](/docs/compute-cloudfunctions#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94)를 참조해 주십시오. ### 요청 경로 파라미터 요청 경로 파라미터에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `packageName` | String | Required | 패키지 이름 - 영문자, 숫자, 특수문자 '-', '_'을 조합하여 1~50자 이내로 입력 - '-'로 시작 불가 - 다른 리소스(패키지, 액션, 트리거) 이름과 중복 불가 - 패키지에 속하지 않은 액션인 경우 특수문자 '-' 입력 | | `actionName` | String | Required | 액션 이름 - 영문자, 숫자, 특수문자 '-', '_'을 조합하여 1~50자 이내로 입력 - '-'로 시작 불가 - 다른 리소스(패키지, 액션, 트리거) 이름과 중복 불가 | ### 요청 쿼리 파라미터 요청 쿼리 파라미터에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `type` | String | Optional | 액션 유형 - `basic` (기본값) \| `web` \| `sequence` \| `sequence-web` - 다른 타입으로 변경 불가 | ### 요청 바디 요청 바디에 대한 설명은 다음과 같습니다. #### Basic/Web 액션 Basic/Web 액션에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `description` | String | Optional | 액션 설명(Byte) - 0~3,000 | | `parameters` | Object | Optional | 액션의 기본 파라미터 - `{"key" : "value"}` 형태의 JSON - 액션 실행 시 파라미터 적용 우선순위 - 1순위: 실행 시점에 전달되는 런타임 파라미터 - 2순위: 연결된 트리거의 기본 파라미터 - 3순위: 액션의 기본 파라미터 - 4순위: 포함된 패키지의 기본 파라미터 | | `limits.timeout` | Integer | Required | 액션 실행 최대 시간(밀리초) - 500~300,000 - 타임아웃 초과 시 액션 강제 종료 | | `limits.memory` | Integer | Required | 액션 최대 메모리 크기(MB) - `128` \| `256` \| `512` \| `1024` | | `exec.kind` | String | Required | 액션 런타임 - 옵션은 [Cloud Functions 런타임 정보](https://guide.ncloud-docs.com/docs/cloudfunctions-spec-runtime) | | `exec.imageUri` | String | Conditional | 사용자 이미지 경로 - Custom Image 런타임만 해당 - `{registryName}/{imageName}:{tag}` 형태 - `tag` 입력되지 않은 경우 기본값은 `latest` | | `exec.binary` | Boolean | Required | 액션 코드 파일 바이너리 여부 - `true` \| `false` - `true`: `exec.code`에 액션 코드 파일의 Base64 인코딩된 값을 입력 - `false`: `exec.code`에 액션 코드를 입력 | | `exec.code` | String | Required | 액션 소스 코드 - 소스 코드: 코드 내용을 그대로 입력 - 파일 첨부: 액션 코드 파일 바이너리 데이터를 Base64 인코딩하여 입력 - 코드를 직접 입력할 경우 이스케이프(escape) 처리 필요 - Java 또는 .net 런타임은 파일 바이너리만 허용 - Java는 압축된 *.jar 파일 형태로만 등록 가능 - .net(dotnet)의 경우 *.zip 파일(압축 파일) 형태로만 업로드 가능 | | `exec.main` | String | Required | 실행 함수 | | `vpc` | Array | Required | 연결할 VPC 정보: [vpc](/docs/compute-cloudfunctions-v2-putaction#vpc) - VPC 플랫폼만 해당 | | `raw-http` | Boolean | Optional | HTTP 원문 사용 여부 - 웹 액션 타입만 지원 | | `custom-options` | Boolean | Optional | HTTP 헤더 옵션 설정 - 웹 액션 타입만 지원 | #### `vpc` `vpc`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `vpcNo` | Integer | Required | 연결할 VPC ID | | `subnetNo` | Integer | Required | 연결할 Subnet ID | #### Sequence/Sequence-web 액션 Sequence/Sequence-web 액션에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `description` | String | Optional | 액션 설명(Byte) - 0~3,000 | | `exec.kind` | String | Required | 액션 종류 - `sequence` (고정 값) | | `exec.components` | String[] | Required | 시퀀스 액션에 연결할 액션 리스트 - `{packageName}/{actionName}` 형태 - 리스트 순서대로 실행 - 패키지에 속하지 않은 액션을 연결하는 경우, `packageName`에 특수문자 '-' 입력 | ### 요청 예시 요청 예시는 다음과 같습니다. ``` curl -X PUT 'https://cloudfunctions.apigw.fin-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}' --data '{ "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` | Object | - | 액션 생성, 수정 정보 | | `content.name` | String | - | 액션 이름 | | `content.resourceId` | String | - | 액션의 리소스 ID | | `content.path` | String | - | 액션 경로 | | `content.description` | String | - | 액션 설명 | | `content.type` | String | - | 액션 유형 | #### Basic/Web 액션 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 | - | 사용자 이미지 경로 - 런타임이 Custom Image인 경우에만 노출됨 | | `content.exec.kind` | String | - | 액션 런타임 | | `content.exec.main` | String | - | 실행 함수 | | `content.limits.memory` | Integer | - | 액션 컨테이너에 할당되는 메모리 크기 | | `content.limits.timeout` | Integer | - | 액션이 실행될 수 있는 최대 시간 | | `content.vpc` | Array | - | 연결된 VPC 정보: [vpc](/docs/compute-cloudfunctions-v2-putaction#vpc) - 플랫폼이 VPC인 경우에만 노출됨 | #### `vpc` `vpc`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `vpcNo` | Integer | - | 연결된 VPC ID | | `subnetNo` | Integer | - | 연결된 Subnet ID | #### Sequence/Web-sequence 액션 Sequence/Sequence-web 액션에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `content.exec.kind` | String | - | 액션 종류 - `sequence` (고정 값) | | `content.exec.components` | String[] | - | 연결된 액션 리스트 | ### 응답 상태 코드 Cloud Functions API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 [Cloud Functions 응답 상태 코드](/docs/compute-cloudfunctions#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C)를 참조해 주십시오. ### 응답 예시 응답 예시는 다음과 같습니다. ``` { "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": ***** } ] } } ```