Put Action
    • PDF

    Put Action

    • PDF

    기사 요약

    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 '<하단 참조>'
    
    {
        "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.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
        }
    }
    

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

    What's Next
    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.