기본 액션
    • PDF

    기본 액션

    • PDF

    Article Summary

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

    네이버 클라우드 플랫폼 콘솔의 Cloud Functions > Action에서 기본 타입의 액션을 생성하고 수정, 삭제할 수 있습니다. 생성한 액션을 실행하고 모니터링하는 방법은 Action/Trigger 실행Action을 참조해 주십시오.

    액션 생성

    액션을 생성합니다. 액션 생성 시 트리거를 연결하거나, 트리거가 없는 경우 트리거를 추가하여 연결할 수 있습니다. 트리거를 연결하지 않고 동작 가능한 액션을 생성할 수도 있습니다. 액션을 생성하는 방법은 다음과 같습니다.

    1. 네이버 클라우드 플랫폼 콘솔의 Region 메뉴에서 이용 중인 리전을 클릭하여 선택해 주십시오.
    2. Platform 메뉴에서 Classic을 클릭하여 선택해 주십시오.
    3. Services > Compute > Cloud Functions 메뉴를 차례대로 클릭해 주십시오.
    4. Action 메뉴를 클릭해 주십시오.
    5. [Action 생성] 버튼을 클릭해 주십시오.
    6. 트리거 선택트리거 종류에서 액션에 연결할 트리거를 클릭하여 선택해 주십시오.
      • 트리거 설정 없이 액션 만들기: 트리거를 연결하지 않고 생성하려는 경우
    7. 이름에서 연결할 트리거를 클릭하여 선택한 다음 [추가] 버튼을 클릭해 주십시오.
      • 새로운 트리거 만들기: 연결할 트리거가 없거나 새로운 트리거를 생성하여 연결하려는 경우. 자세한 사용 방법은 Trigger 참조
    8. 연결 트리거 목록이 나타나면 정보를 확인한 다음 [다음] 버튼을 클릭해 주십시오.
    9. 생성할 액션 내용을 설정해 주십시오.
      • 기본 정보: 액션 타입, 이름, 설명, 소속 패키지 설정
      • 소스 코드: 선택한 언어로 콘솔에서 코드를 직접 작성하거나 코드 파일 업로드
      • 디폴트 파라미터: 액션에 사용할 디폴트 파라미터 코드 작성
      • 옵션 설정: 액션 메인 함수 이름, 메모리, 타임아웃, 웹 액션 설정
    10. [생성] 버튼을 클릭해 주십시오.

    기본 정보

    액션을 생성하기 위해 기본적으로 필요한 정보를 설정합니다. 기본 정보의 각 항목에 대한 설명은 다음과 같습니다.

    • 패키지: 액션이 속할 패키지를 클릭하여 선택. 새 패키지를 생성하여 포함시키려면 [생성] 버튼 클릭
    • 타입: 액션 종류 가운데 기본을 클릭하여 선택
      • 기본: 하나의 액션을 실행
      • 시퀀스: 여러 개의 액션을 연결하여 순차적으로 실행
    • 이름: 액션 이름을 영문 대소문자, 숫자, 특수 문자 '_', '-'를 조합하여 입력. 단, 첫 글자로 특수문자 '-'는 사용할 수 없으며 다른 리소스(패키지, 액션, 트리거) 이름과 중복 불가
      • 패키지 이름이 package_name이고 액션 이름이 action_name인 경우 패키지에 속한 액션 이름 형식: {package_name}/{action_name}
    • 설명: 생성할 액션에 대한 설명을 입력
    주의
    • 패키지를 선택하지 않고 소속된 패키지가 없는 상태로 액션을 생성할 수 있지만 패키지를 생성하여 액션을 패키지에 포함시키는 것을 권장합니다.
    • 시퀀스 타입의 액션을 생성하는 방법은 시퀀스를 참조해 주십시오.
    • 액션 이름과 종류는 수정이 불가능하기 때문에 신중하게 결정해 주십시오.

    소스 코드

    액션 코드는 원하는 언어로 콘솔에서 직접 작성하거나 코드 파일을 업로드합니다. 코드 작성 시 실행 시점의 런타임 파라미터를 설정하지 않으면 패키지나 연결된 트리거, 액션의 디폴트 파라미터가 사용됩니다. 런타임 파라미터 외에도 추가 설정에 대한 코드를 별도로 작성하지 않는 경우 관련 설정은 기본값이 적용되며, 생성 후 변경이 불가능한 값도 있으니 주의하여 작성해 주십시오. 소스 코드의 각 항목에 대한 설명은 다음과 같습니다.

    • 언어: 소스 코드 작성 언어를 클릭하여 선택
    • 타입: 소스 코드를 작성하는 방법을 클릭하여 선택
      • 코드: 콘솔에서 직접 작성
      • 파일: 작성한 소스 코드 파일을 Drop files here or click to upload. 를 클릭하여 업로드
    주의
    • Java 코드는 콘솔에서 직접 작성할 수 없으며, 컴파일하여 JAR 파일로 업로드해야 합니다.
    • .net 코드는 업로드 시 ZIP 파일 형태만 가능합니다.

    작성 예제

    파라미터 Params를 전달받아 Params에 Name과 Place가 존재하면 해당 문자열을 반환하고, 존재하지 않으면 World와 Ncloud를 반환하는 액션의 소스 코드의 언어별 작성 예제입니다. 소스 코드 작성 시 참고해 주십시오.

    참고

    ZIP이나 JAR 파일로 업로드하는 코드의 경우 작성 방법이 정해져 있으니 반드시 작성 가이드를 참고하여 작성해 주십시오.

    • Node.js

      function main(params) {
          var name = params.name || 'World';
          var place = params.place || 'Ncloud';
          return {payload:  'Hello, ' + name + ' in ' + place + '!'};
      }
      
    • Python 3

      def main(args):
          name = args.get("name", "World")
          place  = args.get("place", "Ncloud")
          return {"payload": "Hello, " + name + " in " + place + "!"}
      
    • Swift 3.1.1

      func main(args: [String:Any]) -> [String:Any] {
          let name = args["name"] ?? "World"
          let place = args["place"] ?? "Ncloud"
          return  [ "payload" : "Hello, \(name) in \(place)"]
      }
      
    • PHP 7

      <?php
      function main(array $args) : array
      {
          $name = $args["name"] ?? "World";
          $place = $args["place"] ?? "Ncloud";
          return ["greeting" => "Hello, $name in $place!"];
      }
      ?>
      
    • Java 8

      import com.google.gson.JsonObject;
      
      public class Hello {
          public static JsonObject main(JsonObject args) {
              String name = "World";
              String place = "Ncloud";
              if (args.has("name"))
                  name = args.getAsJsonPrimitive("name").getAsString();
              if (args.has("place"))
                  place = args.getAsJsonPrimitive("place").getAsString();
      
              JsonObject response = new JsonObject();
              response.addProperty("payload", "Hello, " + name + " in " + place + "!");
              return response;
          }
      }
      

    디폴트 파라미터

    매번 액션을 실행할 때마다 파라미터를 전달하는 대신 액션에 기본으로 적용될 수 있는 디폴트 파라미터를 입력할 수 있습니다. 액션의 디폴트 파라미터는 패키지 파라미터보다 적용 우선순위가 높고, 트리거 파라미터와 액션 실행 시점에 전달되는 런타임 파라미터보다는 적용 우선순위가 낮습니다. 디폴트 파라미터의 각 항목에 대한 설명은 다음과 같습니다.

    cloudfunctions-basicaction-vpc_03_ko

    • 입력 박스: json 형식으로 입력

    json 형식의 디폴트 파라미터 예제 코드는 다음과 같습니다.

    {
      "name": "Ncloud",
      "place": "Cloud Functions"
    }
    

    옵션 설정

    액션의 메인 함수 이름, 메모리, 타임아웃을 설정하거나 별도의 사용자 인증 없이 호출 가능한 URL을 제공하는 웹 액션을 설정할 수 있습니다. 웹 액션의 경우 다양한 REST API 형태의 모든 요청(GET, POST, PUT, DELETE 등)을 지원합니다.
    옵션 설정의 각 항목에 대한 설명은 다음과 같습니다.

    • Main 함수: 액션의 메인 함수나 클래스 이름으로 사용할 문자열 입력
    • 액션 메모리: 원하는 메모리 크기를 클릭하여 선택
    • 액션 Timeout: 액션의 실행 가능한 최대 시간을 ms 단위로 입력. 입력한 시간 초과 시 실행 결과 실패로 종료
    • 웹 액션 설정: 웹 속성의 액션 생성 여부를 클릭하여 선택(True: 생성, False: 생성 안 함)
      • HTTP 원문 사용: 웹 액션에서 HTTP 원문 그대로 웹 액션으로 전달받아 해석하여 처리할지 여부를 클릭하여 선택(True: HTTP 원문 사용, False: JSON 객체 사용)
      • 헤더 옵션 설정: 코드 내에서 헤더 수정 가능 여부를 클릭하여 선택(True: 수정 가능, False: CORS 헤더를 응답 헤더에 자동 추가)

    액션 수정

    액션의 이름, 종류를 제외한 나머지 내용을 수정할 수 있습니다. 수정하는 방법은 다음과 같습니다.

    1. 네이버 클라우드 플랫폼 콘솔의 Region 메뉴에서 이용 중인 리전을 클릭하여 선택해 주십시오.
    2. Platform 메뉴에서 Classic을 클릭하여 선택해 주십시오.
    3. Services > Compute > Cloud Functions 메뉴를 차례대로 클릭해 주십시오.
    4. Action 메뉴를 클릭해 주십시오.
    5. Packages/Actions에서 수정할 액션을 클릭해 주십시오.
    6. 기본 정보 탭 메뉴를 클릭한 다음 [수정] 버튼을 클릭해 주십시오.
    7. 필요한 정보를 수정해 주십시오.
    8. [저장] 버튼을 클릭해 주십시오.

    액션 삭제

    액션을 삭제할 수 있습니다. 액션 삭제 시 액션과 연결된 외부 연결 주소의 리소스 및 스테이지 정보가 함께 삭제되며, 해당 액션이 포함된 시퀀스 액션이 수정되거나 삭제될 수 있습니다. 또한 삭제한 액션은 복구가 불가능하기 때문에 신중하게 진행해 주십시오. 액션을 삭제하는 방법은 다음과 같습니다.

    1. 네이버 클라우드 플랫폼 콘솔의 Region 메뉴에서 이용 중인 리전을 클릭하여 선택해 주십시오.
    2. Platform 메뉴에서 Classic을 클릭하여 선택해 주십시오.
    3. Services > Compute > Cloud Functions 메뉴를 차례대로 클릭해 주십시오.
    4. Action 메뉴를 클릭해 주십시오.
    5. Packages/Actions에서 삭제할 액션을 클릭해 주십시오.
    6. 기본 정보 탭 메뉴를 클릭한 다음 [삭제] 버튼을 클릭해 주십시오.
    7. [삭제] 버튼을 클릭해 주십시오.

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

    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.