--- title: "Put Action" slug: "compute-cloudfunctions-putaction" tags: ["Cloud Functions"] updated: 2026-10-22T10:47:10Z published: 2026-10-22T10:47:10Z canonical: "api-gov.ncloud-docs.com/compute-cloudfunctions-putaction" --- > ## Documentation Index > Fetch the complete documentation index at: https://api-gov.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Put Action Classic 환경에서 이용 가능합니다. Cloud Functions 액션을 생성, 수정합니다. ## 요청 요청 형식을 설명합니다. 요청 형식은 다음과 같습니다. | 메서드 | URI | | --- | --- | | PUT | /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자 이내로 입력 - '-'로 시작 불가 - 다른 리소스(패키지, 액션, 트리거) 이름과 중복 불가 - 패키지에 속하지 않는 액션을 생성하려면 특수문자 '-' 입력 - <예시> `/packages/-/actions/myaction` | | `actionName` | String | Required | 액션 이름 - 영문자, 숫자, 특수문자 '-', '_'을 조합하여 1~50자 이내로 입력 - '-'로 시작 불가 - 다른 리소스(패키지, 액션, 트리거) 이름과 중복 불가 | ### 요청 바디 요청 바디에 대한 설명은 다음과 같습니다. #### Basic 액션 Basic 액션의 요청 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `description` | String | Optional | 액션 설명(Byte) - 0~3,000 | | `web` | Boolean | Optional | 웹 액션 설정 - `true` \| `false` - `true`: 웹 액션 - `false`: 일반 액션 - 기본값 - 새로운 액션 생성 시: `false` - 기존 액션 수정 시: `true` - 기존 액션의 유형 변경 불가 | | `raw-http` | Boolean | Optional | HTTP 원문 사용 여부 - `true` \| `false` (기본값) - `web`이 `false`인 경우 `false`만 입력 가능 - 웹 액션만 지원 | | `custom-options` | Boolean | Optional | 헤더 옵션 설정 - `true` \| `false` (기본값) - `web`이 `false`인 경우 `false`만 입력 가능 - 웹 액션만 지원 | | `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-gov.ncloud-docs.com/docs/cloudfunctions-spec-runtime) | | `exec.binary` | Boolean | Required | 액션 코드 파일 바이너리 여부 - `true` \| `false` - `true`: `exec.code`에 액션 코드 파일의 Base64 인코딩된 값을 입력 - `false`: `exec.code`에 액션 코드를 입력 - `exec.kind`가 `java`, `java:21` 또는 `dotnet:2.2`인 경우 `true` 입력 | | `exec.code` | String | Required | 액션 소스 코드 - 소스 코드: 코드 내용 그대로 입력 - 파일 첨부: 액션 코드 파일 바이너리 데이터를 Base64 인코딩하여 입력 - 코드를 직접 입력할 경우 이스케이프(escape) 처리 필요 - Java 또는 .net 런타임은 파일 바이너리만 허용 - Java는 압축된 *.jar 파일 형태로만 업로드 가능 - .net (dotnet)의 경우 *.zip 파일(압축 파일) 형태로만 업로드 가능 | | `exec.main` | String | Required | 실행 함수 | #### Sequence 액션 Sequence 액션의 요청 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `description` | String | Optional | 액션 설명(Byte) - 0~3,000 | | `web` | Boolean | Optional | 웹 액션 설정 - `true` \| `false` - `true`: 웹 액션 - `false`: 일반 액션 - 기본값 - 새로운 액션 생성 시: `false` - 기존 액션 수정 시: `true` - 기존 액션의 유형 변경 불가 | | `exec.kind` | String | Required | 액션 종류 - `sequence` (고정 값) | | `exec.components` | String[] | Required | 시퀀스 액션에 연결할 액션 목록 - `{packageName}/{actionName}` 형식 - 액션을 실행할 순서대로 입력 - 패키지에 속하지 않은 액션을 연결하는 경우, `packageName`에 특수문자 '-' 입력 | ### 요청 예시 요청 예시는 다음과 같습니다. ``` curl --location --request PUT 'https://cloudfunctions.apigw.gov-ntruss.com/api/v2/packages/package003/actions/action001' \ --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" : "Create Action", "web": false, "raw-http": false, "custom-options" : false, "parameters": { "name": "action000" }, "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" } }' ``` ## 응답 응답 형식을 설명합니다. ### 응답 바디 응답 바디에 대한 설명은 다음과 같습니다. #### Basic 액션 Basic 액션의 응답 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `content` | Object | - | 액션 생성, 수정 정보 | | `content.name` | String | - | 액션 이름 | | `content.path` | String | - | 액션 경로 | | `content.description` | String | - | 액션 설명 | | `content.parameters` | Object | - | 액션의 기본 파라미터 | | `content.resourceId` | String | - | 액션의 리소스 ID | | `content.web` | Boolean | - | 웹 액션 설정 | | `content.raw-http` | Boolean | - | HTTP 원문 사용 여부 - 웹 액션만 지원 | | `content.custom-options` | Boolean | - | 헤더 옵션 설정 - 웹 액션만 지원 | | `content.exec.binary` | Boolean | - | 액션 코드의 파일 바이너리 여부 | | `content.exec.code` | String | - | 액션 소스 코드 또는 Base64-encoded 코드 파일 바이너리 | | `content.exec.kind` | String | - | 사용 언어 | | `content.exec.main` | String | - | 실행 함수 | | `content.limits.memory` | Integer | - | 액션 컨테이너에 할당되는 메모리 크기 | | `content.limits.timeout` | Integer | - | 액션이 실행될 수 있는 최대 시간 | #### Sequence 액션 Sequence 액션의 응답 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `content` | Object | - | 액션 생성, 수정 정보 | | `content.name` | String | - | 액션 이름 | | `content.path` | String | - | 액션 경로 | | `content.description` | String | - | 액션 설명 | | `content.resourceId` | String | - | 액션의 리소스 ID | | `content.web` | Boolean | - | 웹 액션 설정 | | `content.exec.kind` | String | - | 액션 종류 - `sequence`(고정 값) | | `content.exec.components` | String[] | - | 연결된 액션 목록 | ### 응답 상태 코드 네이버 클라우드 플랫폼에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 [Ncloud API 응답 상태 코드](/docs/api-call-lgc-errorhandling)를 참조해 주십시오. ### 응답 예시 응답 예시는 다음과 같습니다. ``` { "content": { "custom-options": false, "description": "Create 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": "action001", "parameters": { "name": "action000" }, "path": "otojYBN*****/package003", "raw-http": false, "resourceId": "Hb***", "web": false } } ```