--- title: "액션 생성" slug: "cloudfunctions-actioncreate-classic" updated: 2026-10-22T09:12:13Z published: 2026-10-22T09:12:13Z canonical: "guide-gov.ncloud-docs.com/cloudfunctions-actioncreate-classic" --- > ## Documentation Index > Fetch the complete documentation index at: https://guide-gov.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # 액션 생성 Classic 환경에서 이용 가능합니다. 네이버 클라우드 플랫폼 콘솔의 **Cloud Functions** > **Action**에서 액션을 생성할 수 있습니다. 액션을 생성하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔의 Classic 환경에서 **Menu** > **All Services** > **Compute** > **Cloud Functions** 메뉴를 차례대로 클릭해 주십시오. 2. **Action** 메뉴를 클릭해 주십시오. 3. **[Action 생성]** 버튼을 클릭해 주십시오. 4. 생성할 액션 내용을 설정해 주십시오. - [기본 정보](/docs/cloudfunctions-actioncreate-classic#%EA%B8%B0%EB%B3%B8%EC%A0%95%EB%B3%B4): 소속 패키지, 액션 타입, 이름, 설명 설정 - [소스 코드](/docs/cloudfunctions-actioncreate-classic#%EC%86%8C%EC%8A%A4%EC%BD%94%EB%93%9C): 선택한 언어로 콘솔에서 코드를 직접 작성하거나 코드 파일 업로드 - [디폴트 파라미터](/docs/cloudfunctions-actioncreate-classic#%EB%94%94%ED%8F%B4%ED%8A%B8%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0): 액션에 사용할 디폴트 파라미터 코드 작성 - [옵션 설정](/docs/cloudfunctions-actioncreate-classic#%EC%98%B5%EC%85%98%EC%84%A4%EC%A0%95): 액션 메인 함수 이름, 메모리, 타임아웃, 웹 액션 설정 5. **[저장]** 버튼을 클릭해 주십시오. ## 기본 정보 액션을 생성하기 위해 기본적으로 필요한 정보를 설정합니다. **기본 정보**의 각 항목에 대한 설명은 다음과 같습니다. - 패키지: 액션이 속할 패키지를 클릭하여 선택. 새 패키지를 생성하여 포함시키려면 **[+생성]** 버튼 클릭 - 타입: 액션 종류를 클릭하여 선택 - 일반 액션: 기본 액션 타입으로 하나의 액션을 실행 - 웹 액션: 하나의 액션을 실행하며 API Gateway 트리거 HTTP 방식과 연동하여 HTTP 요청, 응답을 처리 - 시퀀스 액션: 여러 개의 액션을 연결하여 순차적으로 실행 - 시퀀스 웹 액션: 여러 개의 웹 액션을 연결하여 순차적으로 실행 - 이름: 액션 이름을 영문 대소문자, 숫자, 특수 문자( _ , - )를 조합하여 입력. 단, 첫 글자로 특수문자 '-'는 사용할 수 없으며 다른 리소스(패키지, 액션, 트리거) 이름과 중복 불가 - 예를 들어, 패키지 이름이 `package_name` 이고 액션 이름이 `action_name` 이라면, 패키지에 속한 액션 이름 형식은 다음과 같습니다: - `package_name/action_name` - 설명: 생성할 액션에 대한 설명을 입력 참고 - 패키지를 선택하지 않고 소속된 패키지가 없는 상태로 액션을 생성할 수 있지만 패키지를 생성하여 액션을 패키지에 포함시키는 것을 권장합니다. - 웹 액션의 자세한 설정 및 사용 방법은 [API Gateway 트리거](/docs/cloudfunctions-apigateway-classic)를 참조해 주십시오. - 시퀀스 타입 또는 시퀀스 웹 액션을 하는 방법은 [시퀀스 액션](/docs/cloudfunctions-actioncreate-classic#%EC%8B%9C%ED%80%80%EC%8A%A4%EC%95%A1%EC%85%98%EC%8B%9C%EB%82%98%EB%A6%AC%EC%98%A4%EC%84%A4%EC%A0%95)을 참조해 주십시오. - 액션 타입과 이름은 수정이 불가능하기 때문에 신중하게 결정해 주십시오. ### 소스 코드 액션 코드는 원하는 언어로 콘솔에서 직접 작성하거나 코드 파일을 업로드합니다. 코드 작성 시 실행 시점의 런타임 파라미터를 설정하지 않으면 패키지나 연결된 트리거, 액션의 디폴트 파라미터가 사용됩니다. 런타임 파라미터 외에도 추가 설정에 대한 코드를 별도로 작성하지 않는 경우 관련 설정은 기본값이 적용되며, 생성 후 변경이 불가능한 값도 있으니 주의하여 작성해 주십시오. **소스 코드**의 각 항목에 대한 설명은 다음과 같습니다. - 런타임: 소스 코드가 실행되는 언어 및 버전 환경을 클릭하여 선택 참고 각 언어별 권장 버전을 선택할 수 있습니다. 다른 버전을 선택하려면, **others** 를 클릭하여 확인해주시기 바랍니다. - 타입: 소스 코드를 작성하는 방법을 클릭하여 선택 - 코드: 콘솔에서 직접 작성 - 파일: 작성한 소스 코드 파일을 **마우스로 파일을 끌고 오거나 여기를 클릭하세요.** 를 클릭하여 업로드 주의 - 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 ``` "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](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/cloudfunctions-basicaction-vpc_03_ko.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A56%3A44Z&se=2026-11-07T17%3A56%3A44Z&sr=c&sp=r&sig=YcWzrjfj4ikNbofMurIfHTB611c9SRGKJeUJN7JMQj4%3D) - 입력 박스: JSON 형식으로 입력 JSON 형식의 디폴트 파라미터 예제 코드는 다음과 같습니다. ``` { "name": "NCloud", "place": "Cloud Function" } ``` **예제 코드** ``` function main(params) { let name = params.name || "World"; let place = params.place || "Naver"; return {payload: "Hello, " + name + " in " + place + "!"}; } ``` **실행 결과** ``` {"payload":"Hello, NCloud in Cloud Function!"} ``` ### 옵션 설정 액션의 Main 함수 이름, 메모리, Timeout을 설정하거나 별도의 사용자 인증 없이 호출 가능한 URL을 제공하는 웹 액션을 설정할 수 있습니다. 웹 액션의 경우 다양한 REST API 형태의 모든 요청(GET, POST, PUT, DELETE 등)을 지원합니다. **옵션 설정**의 각 항목에 대한 설명은 다음과 같습니다. - Main 함수: 액션의 메인 함수나 클래스 이름으로 사용할 문자열 입력 - 액션 메모리: 원하는 메모리 크기를 클릭하여 선택 - 액션 Timeout: 액션의 실행 가능한 최대 시간을 ms 단위로 입력. 입력한 시간 초과 시 실행 결과 실패로 종료 - 웹 액션 관련 설정 - HTTP 원문 사용: 웹 액션에서 HTTP 원문 그대로 웹 액션으로 전달받아 해석하여 처리할지 여부를 클릭하여 선택(True: HTTP 원문 사용, False: JSON 객체 사용) - 헤더 옵션 설정: 코드 내에서 헤더 수정 가능 여부를 클릭하여 선택(True: 수정 가능, False: CORS 헤더를 응답 헤더에 자동 추가) ## 시퀀스 액션 시나리오 설정 선택한 액션들이 순차적으로 실행되도록 시퀀스 액션의 시나리오를 설정합니다. 시나리오 설정 전 숙지해야 할 주의 사항은 다음과 같습니다. - 시퀀스 액션에는 일반 액션, 웹 액션 외에 시퀀스 액션도 추가할 수 있습니다. - 시퀀스 웹 액션에는 웹 액션 또는 시퀀스 웹 액션만 추가하는 것을 권장합니다. - 사용자의 액션 파라미터는 첫 번째 액션에서만 전달됩니다. 후행 액션에서도 사용자 액션 파라미터값을 사용해야 할 경우 선행 액션에서 해당값을 결과에 명시적으로 추가해 주십시오. - 시퀀스 액션에 등록된 각 액션은 자신의 디폴트 파라미터값을 사용할 수 있습니다. 디폴트 파라미터에 선행 액션의 결과와 동일한 Key가 있을 경우 선행 액션 결과의 우선 순위가 높습니다. - 선행 액션에서 오류 발생 시 다음 액션은 실행되지 않습니다. - 시퀀스 액션은 별도의 실행 타임아웃을 지정할 수 없습니다. 시퀀스 액션의 최대 실행 시간은 등록된 액션 실행 타임아웃의 총합과 같습니다. <예시> 액션 1, 액션 2의 실행 타임아웃이 각각 1분, 3분인 경우 시퀀스 액션은 최대 4분까지 실행 가능 위 주의 사항을 고려하여 시퀀스 액션 시나리오를 설정하는 방법은 다음과 같습니다. 1. **Packages/Actions**에서 시퀀스 액션에 추가할 액션을 클릭해 주십시오. 2. 추가한 액션들의 실행 순서를 설정해 주십시오. ![cloudfunctions-sequence-vpc_01_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/cloudfunctions-sequence-vpc_01_ko.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A56%3A44Z&se=2026-11-07T17%3A56%3A44Z&sr=c&sp=r&sig=YcWzrjfj4ikNbofMurIfHTB611c9SRGKJeUJN7JMQj4%3D) - 실행 순서 변경: 실행 순서를 변경할 액션을 드래그 - 추가한 액션 삭제: ![cloudfunctions-ico_01](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/cloudfunctions-ico_01.png?sv=2026-02-06&spr=https&st=2026-11-07T16%3A56%3A44Z&se=2026-11-07T17%3A56%3A44Z&sr=c&sp=r&sig=YcWzrjfj4ikNbofMurIfHTB611c9SRGKJeUJN7JMQj4%3D) 버튼 클릭