MENU
      Put Action

        Put Action


        기사 요약

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

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

        요청

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

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

        요청 헤더

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

        요청 경로 파라미터

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

        필드타입필수 여부설명
        packageNameStringRequired패키지 이름
        • 1~50자로 영문자, 숫자, 특수문자 '-', '_'를 허용하며 '-'로 시작 불가
        • 다른 리소스(패키지, 액션, 트리거) 이름과 중복 불가
        • 패키지에 속하지 않는 액션을 생성하려면 특수문자 '-' 입력
          • <예시> /packages/-/actions/myaction
        actionNameStringRequired액션 이름
        • 1~50자로 영문자, 숫자, 특수문자 '-', '_'를 허용하며 '-'로 시작 불가
        • 다른 리소스(패키지, 액션, 트리거) 이름과 중복 불가

        요청 쿼리 파라미터

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

        필드타입필수 여부설명
        platformStringOptional플랫폼 구분
        • vpc | classic (기본값)

        요청 바디

        요청 바디에 대한 설명은 다음과 같습니다.

        Basic 액션

        Basic 액션의 요청 바디에 대한 설명은 다음과 같습니다.

        필드타입필수 여부설명
        descriptionStringOptional액션 설명(Byte)
        • 0~3,000
        webBooleanOptional웹 액션 설정
        • true | false
          • true: 웹 액션
          • false: 일반 액션
        • 기본값
          • 새로운 액션 생성 시: false
          • 기존 액션 수정 시: true
        • 기존 액션의 유형 변경 불가
        raw-httpBooleanOptionalHTTP 원문 사용 여부
        • true | false (기본값)
        • webfalse인 경우 false만 입력 가능
        • 웹 액션만 지원
        custom-optionsBooleanOptional헤더 옵션 설정
        • true | false (기본값)
        • webfalse인 경우 false만 입력 가능
        • 웹 액션만 지원
        parametersObjectOptional액션 디폴트 파라미터
        • {"key": "value"} 형태의 JSON
        • 액션 실행 시 파라미터 적용 우선순위
          • 1순위: 실행 시점에 전달되는 런타임 파라미터
          • 2순위: 연결된 트리거의 기본 파라미터
          • 3순위: 액션의 기본 파라미터
          • 4순위: 포함된 패키지의 기 파라미터
        limits.timeoutIntegerRequired액션 실행 최대 시간(밀리초)
        • 500~300,000
        • 타임아웃 초과 시 액션 강제 종료
        limits.memoryIntegerRequired액션 최대 메모리 크기(MB)
        • 128 | 256 | 512 | 1024
        exec.kindStringRequired액션 런타임
        exec.binaryBooleanRequired액션 코드 파일 바이너리 여부
        • true | false
          • true: exec.code에 액션 코드 파일의 Base64 인코딩된 값을 입력
          • false: exec.code에 액션 코드를 입력
        • exec.kindjava 또는 dotnet:2.2인 경우 true 입력
        exec.codeStringRequired액션 소스 코드
        • 소스 코드: 코드 내용 그대로 입력
        • 파일 첨부: 액션 코드 파일 바이너리 데이터를 Base64 인코딩하여 입력
        • 코드를 직접 입력할 경우 이스케이프(escape) 처리 필요
        • Java 또는 .net 런타임은 파일 바이너리만 허용
        • Java는 압축된 *.jar 파일 형태로만 업로드 가능
        • .net (dotnet)의 경우 *.zip 파일(압축 파일) 형태로만 업로드 가능
        exec.mainStringRequired실행 함수
        vpcObjectOptional연결할 VPC 정보
        • platformvpc인 경우에만 입력
        vpc.vpcNoIntegerOptional연결할 VPC 번호
        vpc.subnetNoIntegerOptional연결할 Subnet 번호

        Sequence 액션

        Sequence 액션의 요청 바디에 대한 설명은 다음과 같습니다.

        필드타입필수 여부설명
        descriptionStringOptional액션 설명(Byte)
        • 0~3,000
        webBooleanOptional웹 액션 설정
        • true | false
          • true: 웹 액션
          • false: 일반 액션
        • 기본값
          • 새로운 액션 생성 시: false
          • 기존 액션 수정 시: true
        • 기존 액션의 유형 변경 불가
        exec.kindStringRequired액션 종류
        • sequence (고정 값)
        exec.componentsString[]Required시퀀스 액션에 연결할 액션 목록
        • {packageName}/{actionName} 형식
        • 액션을 실행할 순서대로 입력
        • 패키지에 속하지 않은 액션을 연결하는 경우, packageName에 특수문자 '-' 입력

        요청 예시

        요청 예시는 다음과 같습니다.

        curl --location --request PUT 'https://cloudfunctions.apigw.ntruss.com/api/v2/packages/package003/actions/action001?platform=classic' \
        --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 '<하단 참조>'
        Curl
        {
            "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"
            }
        }
        JSON

        응답

        응답 형식을 설명합니다.

        응답 바디

        응답 바디에 대한 설명은 다음과 같습니다.

        Basic 액션

        Basic 액션의 응답 바디에 대한 설명은 다음과 같습니다.

        필드타입필수 여부설명
        content.nameString-액션 이름
        content.pathString-액션 경로
        content.descriptionString-액션 설명
        content.parametersObject-액션의 기본 파라미터
        content.resourceIdString-액션의 리소스 ID
        content.webBoolean-웹 액션 설정
        content.raw-httpBoolean-HTTP 원문 사용 여부
      • 웹 액션만 지원
      • content.custom-optionsBoolean-헤더 옵션 설정
      • 웹 액션만 지원
      • content.exec.binaryBoolean-액션 코드의 파일 바이너리 여부
        content.exec.codeString-액션 소스 코드 또는 Base64-encoded 코드 파일 바이너리
        content.exec.kindString-사용 언어
        content.exec.mainString-실행 함수
        content.limits.memoryInteger-액션 컨테이너에 할당되는 메모리 크기
        content.limits.timeoutInteger-액션이 실행될 수 있는 최대 시간
        content.vpcObject-연결된 VPC 정보
        • platformvpc인 경우에만 표시
        content.vpc.vpcNoInteger-연결된 VPC 번호
        content.vpc.subnetNoInteger-연결된 Subnet 번호

        Sequence 액션

        Sequence 액션의 응답 바디에 대한 설명은 다음과 같습니다.

        필드타입설명
        content.nameString액션 이름
        content.pathString액션 경로
        content.descriptionString액션 설명
        content.resourceIdString액션의 리소스 ID
        content.webBoolean웹 액션 설정
        content.exec.kindString액션 종류
        • sequence(고정 값)
        content.exec.componentsString[]연결된 액션 목록

        응답 상태 코드

        네이버 클라우드 플랫폼에서 공통으로 사용하는 응답 상태 코드에 대한 자세한 내용은 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
            }
        }
        JSON

        이 문서가 도움이 되었습니까?

        Changing your password will log you out immediately. Use the new password to log back in.
        First name must have atleast 2 characters. Numbers and special characters are not allowed.
        Last name must have atleast 1 characters. Numbers and special characters are not allowed.
        Enter a valid email
        Enter a valid password
        Your profile has been successfully updated.