- 인쇄
- PDF
기본 액션
- 인쇄
- PDF
Classic 환경에서 이용 가능합니다.
네이버 클라우드 플랫폼 콘솔의 Cloud Functions > Action에서 기본 타입의 액션을 생성하고 수정, 삭제할 수 있습니다. 생성한 액션을 실행하고 모니터링하는 방법은 Action/Trigger 실행과 Action을 참고해 주십시오.
액션 생성
액션을 생성합니다. 액션 생성 시 트리거를 연결하거나, 트리거가 없는 경우 트리거를 추가하여 연결할 수 있습니다. 트리거를 연결하지 않고 동작 가능한 액션을 생성할 수도 있습니다. 액션을 생성하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔의 Region 메뉴에서 이용 중인 리전을 클릭하여 선택해 주십시오.
- Platform 메뉴에서 Classic을 클릭하여 선택해 주십시오.
- Services > Compute > Cloud Functions 메뉴를 차례대로 클릭해 주십시오.
- Action 메뉴를 클릭해 주십시오.
- [Action 생성] 버튼을 클릭해 주십시오.
- 트리거 선택의 트리거 종류에서 액션에 연결할 트리거를 클릭하여 선택해 주십시오.
- 트리거 설정 없이 액션 만들기: 트리거를 연결하지 않고 생성하려는 경우
- 이름에서 연결할 트리거를 클릭하여 선택한 다음 [추가] 버튼을 클릭해 주십시오.
- 새로운 트리거 만들기: 연결할 트리거가 없거나 새로운 트리거를 생성하여 연결하려는 경우. 자세한 사용 방법은 Trigger 참고
- 연결 트리거 목록이 나타나면 정보를 확인한 다음 [다음] 버튼을 클릭해 주십시오.
- 생성할 액션 내용을 설정해 주십시오.
- [생성] 버튼을 클릭해 주십시오.
기본 정보
액션을 생성하기 위해 기본적으로 필요한 정보를 설정합니다. 기본 정보의 각 항목에 대한 설명은 다음과 같습니다.
- 패키지: 액션이 속할 패키지를 클릭하여 선택. 새 패키지를 생성하여 포함시키려면 [생성] 버튼 클릭
- 타입: 액션 종류 가운데 기본을 클릭하여 선택
- 기본: 하나의 액션을 실행
- 시퀀스: 여러 개의 액션을 연결하여 순차적으로 실행
- 이름: 액션 이름을 영문 대소문자, 숫자, 특수 문자 _ -를 조합하여 입력. 단, 첫 글자로 특수문자 -는 사용할 수 없으며 다른 리소스(패키지, 액션, 트리거) 이름과 중복 불가
- 패키지 이름이 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; } }
옵션 설정
액션의 메인 함수 이름, 메모리, 타임아웃을 설정하거나 별도의 사용자 인증 없이 호출 가능한 URL을 제공하는 웹 액션을 설정할 수 있습니다. 웹 액션의 경우 다양한 REST API 형태의 모든 요청(GET, POST, PUT, DELETE 등)을 지원합니다.
옵션 설정의 각 항목에 대한 설명은 다음과 같습니다.
- Main 함수: 액션의 메인 함수나 클래스 이름으로 사용할 문자열 입력
- 액션 메모리: 원하는 메모리 크기를 클릭하여 선택
- 액션 Timeout: 액션의 실행 가능한 최대 시간을 ms 단위로 입력. 입력한 시간 초과 시 실행 결과 실패로 종료
- 웹 액션 설정: 웹 속성의 액션 생성 여부를 클릭하여 선택(True: 생성, False: 생성 안 함)
- HTTP 원문 사용: 웹 액션에서 HTTP 원문 그대로 웹 액션으로 전달받아 해석하여 처리할지 여부를 클릭하여 선택(True: HTTP 원문 사용, False: JSON 객체 사용)
- 헤더 옵션 설정: 코드 내에서 헤더 수정 가능 여부를 클릭하여 선택(True: 수정 가능, False: CORS 헤더를 응답 헤더에 자동 추가)
디폴트 파라미터
매번 액션을 실행할 때마다 파라미터를 전달하는 대신 액션에 기본으로 적용될 수 있는 디폴트 파라미터를 입력할 수 있습니다. 액션의 디폴트 파라미터는 패키지 파라미터보다 적용 우선순위가 높고, 트리거 파라미터와 액션 실행 시점에 전달되는 런타임 파라미터보다는 적용 우선순위가 낮습니다. 디폴트 파라미터의 각 항목에 대한 설명은 다음과 같습니다.
- 입력 박스: json 형식으로 입력
json 형식의 디폴트 파라미터 예제 코드는 다음과 같습니다.
{
"name": "Ncloud",
"place": "Cloud Functions"
}
액션 수정
액션의 이름, 종류를 제외한 나머지 내용을 수정할 수 있습니다. 수정하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔의 Region 메뉴에서 이용 중인 리전을 클릭하여 선택해 주십시오.
- Platform 메뉴에서 Classic을 클릭하여 선택해 주십시오.
- Services > Compute > Cloud Functions 메뉴를 차례대로 클릭해 주십시오.
- Action 메뉴를 클릭해 주십시오.
- Packages/Actions에서 수정할 액션을 클릭해 주십시오.
- 기본 정보 탭 메뉴를 클릭한 다음 [수정] 버튼을 클릭해 주십시오.
- 필요한 정보를 수정해 주십시오.
- [저장] 버튼을 클릭해 주십시오.
액션 삭제
액션을 삭제할 수 있습니다. 액션 삭제 시 액션과 연결된 외부 연결 주소의 리소스 및 스테이지 정보가 함께 삭제되며, 해당 액션이 포함된 시퀀스 액션이 수정되거나 삭제될 수 있습니다. 또한 삭제한 액션은 복구가 불가능하기 때문에 신중하게 진행해 주십시오. 액션을 삭제하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔의 Region 메뉴에서 이용 중인 리전을 클릭하여 선택해 주십시오.
- Platform 메뉴에서 Classic을 클릭하여 선택해 주십시오.
- Services > Compute > Cloud Functions 메뉴를 차례대로 클릭해 주십시오.
- Action 메뉴를 클릭해 주십시오.
- Packages/Actions에서 삭제할 액션을 클릭해 주십시오.
- 기본 정보 탭 메뉴를 클릭한 다음 [삭제] 버튼을 클릭해 주십시오.
- [삭제] 버튼을 클릭해 주십시오.**