Put Action

Prev Next

Classic 환경에서 이용 가능합니다.

Cloud Functions 액션을 생성, 수정합니다.

요청

요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.

메서드 URI
PUT /packages/{packageName}/actions/{actionName}

요청 헤더

Cloud Funtions API에서 공통으로 사용하는 헤더에 대한 자세한 내용은 Cloud Functions 공통 헤더를 참조해 주십시오.

요청 경로 파라미터

파라미터에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
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 (기본값)
  • webfalse인 경우 false만 입력 가능
  • 웹 액션만 지원
custom-options Boolean Optional 헤더 옵션 설정
  • true | false (기본값)
  • webfalse인 경우 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 액션 런타임
exec.binary Boolean Required 액션 코드 파일 바이너리 여부
  • true | false
    • true: exec.code에 액션 코드 파일의 Base64 인코딩된 값을 입력
    • false: exec.code에 액션 코드를 입력
  • exec.kindjava 또는 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.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.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 응답 상태 코드를 참조해 주십시오.

    응답 예시

    응답 예시는 다음과 같습니다.

    {
        "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
        }
    }