Lambda 함수 생성 및 패키징 - AWS IoT Greengrass

AWS IoT Greengrass Version 1 2023년 6월 30일에 수명 연장 단계에 들어갔습니다. AWS IoT Greengrass V1 관리형 정책에 대한 자세한 정보는 섹션을 참조하세요. 이 날짜 이후에는 기능, 개선 사항, 버그 수정 또는 보안 패치를 제공하는 업데이트가 AWS IoT Greengrass V1 릴리스되지 않습니다. 에서 실행되는 기기는 AWS IoT Greengrass V1 중단되지 않으며 계속 작동하고 클라우드에 연결됩니다. 새로운 기능이 크게 추가되고 추가 플랫폼에 대한 지원이 추가되는 으로 마이그레이션하는 AWS IoT Greengrass Version 2 것이 좋습니다.

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

Lambda 함수 생성 및 패키징

이 단계에서는 다음을 수행합니다.

  • 함수 코드와 종속성이 포함된 Lambda 함수 배포 패키지를 생성합니다.

  • Lambda 콘솔을 사용하여 Lambda 함수를 만들고 배포 패키지를 업로드합니다.

  • Lambda 함수의 버전을 게시하고 버전을 가리키는 별칭을 만듭니다.

 

  1. 컴퓨터에서, 모듈 3-1의 Lambda 함수 생성 및 패키징에서 다운로드 및 압축 해제한 AWS IoT Greengrass Python용 코어 SDK로 이동하십시오.

    이 모듈의 Lambda 함수는 다음을 사용합니다.

    • examples\HelloWorldCountergreengrassHelloWorldCounter.py 파일. 이 항목은 Lambda 함수 코드입니다.

    • greengrasssdk 폴더입니다. 이는 SDK입니다.

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

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

    2. greengrassHelloWorldCounter.pygreengrasssdk 폴더를 hello_world_counter_python_lambda.zip이라는 zip 파일에 저장합니다. py 파일과 greengrasssdk 폴더는 디렉터리의 루트에 있어야 합니다.

      hello_word_counter_python_lambda.zip의 압축된 내용을 보여 주는 스크린샷

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

      zip -r hello_world_counter_python_lambda.zip greengrasssdk greengrassHelloWorldCounter.py

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

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

  4. 새로 작성을 선택합니다.

  5. 함수 이름을 Greengrass_HelloWorld_Counter로 지정하고 나머지 필드를 다음과 같이 설정합니다.

    • 실행 시간에서 Python 3.7을 선택합니다.

    • 권한의 경우, 기본 설정을 유지합니다. 이를 통해 기본 Lambda 권한을 부여하는 실행 역할을 생성합니다. 이 역할은 AWS IoT Greengrass에서 사용되지 않습니다. 또는 모듈 3-1에서 생성한 역할을 다시 사용할 수 있습니다.

    함수 생성을 선택합니다.

    "함수 이름" 필드가 "Greengrass_HelloWorld_Counter"로 설정되고 "런타임" 필드가 "Python 3.7"로 설정된 "기본 정보" 섹션.
  6. Lambda 함수 배포 패키지를 업로드합니다.

    1. 코드 탭의 코드 소스에서 다음에서 업로드를 선택합니다. 드롭다운에서 .zip 파일을 선택합니다.

      .zip 파일이 강조 표시된 드롭다운의 업로드.
    2. 업로드를 선택한 다음 hello_world_counter_python_lambda.zip 배포 패키지를 선택합니다. 그런 다음 저장(Save)을 선택합니다.

    3. 함수의 코드 탭에 있는 런타임 설정에서 편집을 선택하고 다음 값을 입력합니다.

      • 실행 시간에서 Python 3.7을 선택합니다.

      • 핸들러greengrassHelloWorldCounter.function_handler를 입력합니다.

    4. Save를 선택합니다.

      참고

      AWS Lambda 콘솔의 테스트 버튼은 이 함수와 함께 작동하지 않습니다. AWS IoT Greengrass코어 SDK에는 AWS Lambda 콘솔에서 Greengrass Lambda 함수를 독립적으로 실행하는 데 필요한 모듈이 포함되어 있지 않습니다. 이러한 모듈(예: greengrass_common)은 Greengrass 코어에 배포된 후 함수에 제공됩니다.

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

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

    2. [Publish]를 선택합니다.

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

    1. 페이지 상단의 작업 메뉴에서 별칭 생성을 선택합니다.

      작업 메뉴가 별칭 생성으로 설정된 스크린샷
    2. 이름(Name)GG_HW_Counter을 입력합니다.

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

    4. Save를 선택합니다.

      이름 필드가 GG_HW_Counter로, 버전 필드가 1로 설정되어 있는 별칭 스크린샷을 생성합니다.

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