MENU
      Put Action

        Put Action


        기사 요약

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

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

        요청

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

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

        요청 헤더

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

        요청 경로 파라미터

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

        필드타입필수 여부설명
        packageNameStringRequired패키지 이름
        • 1~50자로 영문자, 숫자, 특수문자 '-', '_'을 허용하며 '-'로 시작 불가
        • 다른 리소스(패키지, 액션, 트리거) 이름과 중복 불가
        • 패키지에 속하지 않은 액션인 경우 특수문자 '-' 입력
        actionNameStringRequired액션 이름
        • 1~50자로 영문자, 숫자, 특수문자 '-', '_'을 허용하며 '-'로 시작 불가
        • 다른 리소스(패키지, 액션, 트리거) 이름과 중복 불가

        요청 쿼리 파라미터

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

        필드타입필수 여부설명
        platformStringOptional플랫폼 구분
        • vpc (기본값) | classic
        typeStringOptional액션 유형
        • basic (기본값) | web | sequence | sequence-web
          • basic: 일반 액션
          • web: 웹 액션
          • sequence: 시퀀스 액션
          • sequence-web: 시퀀스 웹 액션
        • 다른 타입으로 변경 불가

        요청 바디

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

        Basic/Web 액션

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

        필드타입필수 여부설명
        descriptionStringOptional액션 설명(Byte)
        • 0~3,000
        parametersObjectOptional액션의 기본 파라미터
        • {"key" : "value"} 형태의 JSON
        • 액션 실행 시 파라미터 적용 우선순위
          • 1순위: 실행 시점에 전달되는 런타임 파라미터
          • 2순위: 연결된 트리거의 기본 파라미터
          • 3순위: 액션의 기본 파라미터
          • 4순위: 포함된 패키지의 기본 파라미터
        limits.timeoutIntegerRequired액션 실행 최대 시간(밀리초)
        • 500~300,000
        • 타임아웃 초과 시 액션 강제 종료
        limits.memoryIntegerRequired액션 최대 메모리 크기(MB)
        • 128 | 256 | 512 | 1024
        exec.kindStringRequired액션 런타임
        exec.imageUriStringConditional사용자 이미지 경로
        • Custom Image 런타임만 해당
        • {registryName}/{imageName}:{tag} 형태
        • tag 입력되지 않은 경우 기본값은 latest
        exec.binaryBooleanRequired액션 코드 파일 바이너리 여부
        • true | false
          • true: exec.code에 액션 코드 파일의 Base64 인코딩된 값을 입력
          • false: exec.code에 액션 코드를 입력
        exec.codeStringRequired액션 소스 코드
        • 소스 코드: 코드 내용을 그대로 입력
        • 파일 첨부: 액션 코드 파일 바이너리 데이터를 Base64 인코딩하여 입력
        • 코드를 직접 입력할 경우 이스케이프(escape) 처리 필요
        • Java 또는 .net 런타임은 파일 바이너리만 허용
        • Java는 압축된 *.jar 파일 형태로만 등록 가능
        • .net(dotnet)의 경우 *.zip 파일(압축 파일) 형태로만 업로드 가능
        exec.mainStringRequired실행 함수
        vpcObject[]Required연결할 VPC 정보
        • VPC 플랫폼만 해당
        vpc[].vpcNoIntegerRequired연결할 VPC ID
        vpc[].subnetNoIntegerRequired연결할 Subnet ID
        raw-httpBooleanOptionalHTTP 원문 사용 여부
        • 웹 액션 타입만 지원
        custom-optionsBooleanOptionalHTTP 헤더 옵션 설정
        • 웹 액션 타입만 지원

        Sequence/Sequence-web 액션

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

        필드타입필수 여부설명
        descriptionStringOptional액션 설명(Byte)
        • 0~3,000
        exec.kindStringRequired액션 종류
        • sequence (고정 값)
        exec.componentsString[]Required시퀀스 액션에 연결할 액션 리스트
        • {packageName}/{actionName} 형태
        • 리스트 순서대로 실행
        • 패키지에 속하지 않은 액션을 연결하는 경우, packageName에 특수문자 '-' 입력

        요청 예시

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

        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 '<하단 참조>'
        Curl
        {
            "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" : *****
                }
            ]
        }
        JSON

        응답

        응답 형식을 설명합니다.

        응답 바디

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

        공통 필드

        필드타입설명
        content.nameString액션 이름
        content.resourceIdString액션의 리소스 ID
        content.pathString액션 경로
        content.descriptionString-
        content.typeString-

        Basic/Web 액션

        필드타입설명
        content.parametersObject액션의 기본 파라미터
        content.raw-httpBooleanHTTP 원문 사용 여부
        • 웹 액션 타입만 지원
        content.custom-optionsBoolean헤더 옵션 설정
        • 웹 액션 타입만 지원
        content.exec.binaryBoolean액션 코드의 파일 바이너리 여부
        content.exec.codeString액션 소스 코드 또는 Base64-encoded 코드 파일 바이너리
        content.exec.imageUriString사용자 이미지 경로
        • 런타임이 Custom Image인 경우에만 노출됨
        content.exec.kindString액션 런타임
        content.exec.mainString실행 함수
        content.limits.memoryInteger액션 컨테이너에 할당되는 메모리 크기
        content.limits.timeoutInteger액션이 실행될 수 있는 최대 시간
        content.vpcObject[]-
        content.vpc[].vpcNoInteger-
        content.vpc[].subnetNoInteger-

        Sequence/Web-sequence 액션

        필드타입설명
        content.exec.kindString액션 종류
        • sequence (고정 값)
        content.exec.componentsString[]연결된 액션 리스트

        응답 상태 코드

        응답 상태 코드에 대한 설명은 다음과 같습니다.

        HTTP 상태 코드코드메시지설명
        40080300ACTION_INVALID_NAME잘못된 액션 이름
        40080102PACKAGE_PLATFORM_MISMATCH액션 상위 패키지의 플랫폼 변경 불가
        40080302ACTION_PLATFORM_MISMATCH액션의 플랫폼 변경 불가
        40080303ACTION_INVALID_TYPE잘못된 액션 타입
        40080304ACTION_TYPE_MISMATCH액션의 타입 변경 불가
        40080305ACTION_BODY_INVALID_TYPE잘못된 요청 바디 필드 타입
        40080306ACTION_BODY_MISSING_FIELD필수 요청 바디 필드 누락
        40080307ACTION_BODY_INVALID_VALUE잘못된 요청 바디 필드 값
        40380002SUB_ACC_NO_PERMISSION상세 권한 오류
        40980011RESOURCE_NAME_CONFLICT중복된 리소스 이름
        42280308ACTION_COUNT_EXCEED최대 액션 개수 초과
        50081311ACTION_NAT_EXCEPTION서브넷 조회 실패
        50081312NAT_CREATE_FAIL서브넷 연결 실패
        50081313NAT_BEING_CREATED서브넷 연결 중
        50081314NAT_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": *****
                    }
                ]
            }
        }
        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.