

지원 종료 공지: 2026년 10월 7일에는에 대한 지원을 중단할 AWS 예정입니다 AWS IoT Greengrass Version 1. 2026년 10월 7일 이후에는 더 이상 AWS IoT Greengrass V1 리소스에 액세스할 수 없습니다. 자세한 내용은 [에서 마이그레이션 AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html)을 참조하세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Lambda 함수 생성 및 패키징
<a name="package"></a>

이 단계에서는 다음을 수행합니다.
+ 함수 코드와 종속성이 포함된 Lambda 함수 배포 패키지를 생성합니다.
+ Lambda 콘솔을 사용하여 Lambda 함수를 만들고 배포 패키지를 업로드합니다.
+ Lambda 함수의 버전을 게시하고 버전을 가리키는 별칭을 만듭니다.

 

1. 컴퓨터에서 모듈 3-1의에서 다운로드하고 추출한 Python용 AWS IoT Greengrass 코어 SDK[Lambda 함수 생성 및 패키징](create-lambda.md)로 이동합니다.

   이 모듈의 Lambda 함수는 다음을 사용합니다.
   + `examples\HelloWorldCounter`의 `greengrassHelloWorldCounter.py` 파일. 이 항목은 Lambda 함수 코드입니다.
   + `greengrasssdk` 폴더입니다. 이는 SDK입니다.

1. Lambda 함수 배포 패키지 생성:

   1. `greengrasssdk` 폴더를 `greengrassHelloWorldCounter.py`가 포함된 `HelloWorldCounter` 폴더에 복사합니다.

   1. `greengrassHelloWorldCounter.py`와 `greengrasssdk` 폴더를 `hello_world_counter_python_lambda.zip`이라는 `zip` 파일에 저장합니다. `py` 파일과 `greengrasssdk` 폴더는 디렉터리의 루트에 있어야 합니다.  
![\[hello_word_counter_python_lambda.zip의 압축된 내용을 보여 주는 스크린샷\]](http://docs.aws.amazon.com/ko_kr/greengrass/v1/developerguide/images/gg-get-started-046.png)

      `zip`이 설치된 UNIX 유사 시스템(Mac 터미널 포함)의 경우 다음 명령을 사용하여 파일과 폴더를 패키징할 수 있습니다.

      ```
      zip -r hello_world_counter_python_lambda.zip greengrasssdk greengrassHelloWorldCounter.py
      ```

   이제 Lambda 함수를 만들고 배포 패키지를 업로드할 준비가 되었습니다.

1. Lambda 콘솔을 열고 **함수 생성**을 선택합니다.

1. **새로 작성**을 선택합니다.

1. 함수 이름을 **Greengrass\$1HelloWorld\$1Counter**로 지정하고 나머지 필드를 다음과 같이 설정합니다.
   + **실행 시간**에서 **Python 3.7**을 선택합니다.
   + **권한**의 경우, 기본 설정을 유지합니다. 이를 통해 기본 Lambda 권한을 부여하는 실행 역할을 생성합니다. 이 역할은에서 사용되지 않습니다 AWS IoT Greengrass. 또는 모듈 3-1에서 생성한 역할을 다시 사용할 수 있습니다.

   **함수 생성**을 선택합니다.  
![\["함수 이름" 필드가 "Greengrass_HelloWorld_Counter"로 설정되고 "런타임" 필드가 "Python 3.7"로 설정된 "기본 정보" 섹션.\]](http://docs.aws.amazon.com/ko_kr/greengrass/v1/developerguide/images/gg-get-started-023-3.png)

1. Lambda 함수 배포 패키지를 업로드합니다.

   1. <a name="lambda-console-upload"></a>**코드** 탭의 **코드 소스**에서 **다음에서 업로드**를 선택합니다. 드롭다운에서 **.zip 파일**을 선택합니다.  
![\[.zip 파일이 강조 표시된 드롭다운의 업로드.\]](http://docs.aws.amazon.com/ko_kr/greengrass/v1/developerguide/images/lra-console/upload-deployment-package.png)

   1. **업로드**를 선택한 다음 `hello_world_counter_python_lambda.zip` 배포 패키지를 선택합니다. 그런 다음 **저장**을 선택합니다.

   1. <a name="lambda-console-runtime-settings-para"></a>함수의 **코드** 탭에 있는 **런타임 설정**에서 **편집**을 선택하고 다음 값을 입력합니다.
      + **실행 시간**에서 **Python 3.7**을 선택합니다.
      + **핸들러**에 **greengrassHelloWorldCounter.function\$1handler**를 입력합니다.

   1. <a name="lambda-console-save-config"></a>**저장(Save)**을 선택합니다.
**참고**  
 AWS Lambda 콘솔의 **테스트** 버튼은이 함수에서 작동하지 않습니다. AWS IoT Greengrass 코어 SDK에는 AWS Lambda 콘솔에서 Greengrass Lambda 함수를 독립적으로 실행하는 데 필요한 모듈이 포함되어 있지 않습니다. 이러한 모듈(예: `greengrass_common`)은 Greengrass 코어에 배포된 후 함수에 제공됩니다.

1. 함수의 첫 번째 버전을 게시합니다.

   1. **작업** 메뉴에서 **새 버전 게시**를 선택합니다. **버전 설명**에 **First version**을 입력합니다.

   1. **게시**를 선택합니다.

1. 함수 버전의 별칭을 생성합니다.

   1. 페이지 상단의 **작업** 메뉴에서 **별칭 생성**을 선택합니다.  
![\[작업 메뉴가 별칭 생성으로 설정된 스크린샷\]](http://docs.aws.amazon.com/ko_kr/greengrass/v1/developerguide/images/gg-get-started-028.png)

   1. **이름**에 **GG\$1HW\$1Counter**을 입력합니다.

   1. **버전**에서 **1**을 선택합니다.

   1. **저장(Save)**을 선택합니다.  
![\[이름 필드가 GG_HW_Counter로, 버전 필드가 1로 설정되어 있는 별칭 스크린샷을 생성합니다.\]](http://docs.aws.amazon.com/ko_kr/greengrass/v1/developerguide/images/gg-get-started-048.png)

   별칭은 Greengrass 장치가 구독할 수 있는 Lambda 함수에 대해 단일 엔터티를 생성합니다. 이렇게 하면 함수가 수정될 때마다 새 Lambda 함수 버전 번호로 구독을 업데이트할 필요가 없습니다.