레거시 서브스크립션 라우터 - AWS IoT Greengrass

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

레거시 서브스크립션 라우터

레거시 구독 라우터 (aws.greengrass.LegacySubscriptionRouter) 는 Greengrass 코어 디바이스의 구독을 관리합니다. 구독은 Lambda 함수가 코어 디바이스에서 메시징에 MQTT 사용할 수 있는 주제를 정의하는 AWS IoT Greengrass V1의 기능입니다. 자세한 내용은 V1 개발자 안내서의 MQTT 메시징 워크플로우에서 관리형 구독을 참조하십시오.AWS IoT Greengrass

이 구성 요소를 사용하여 Core를 사용하는 커넥터 구성 요소 및 Lambda 함수 구성 요소에 대한 구독을 활성화할 수 있습니다. AWS IoT Greengrass SDK

참고

Lambda 함수가 Core의 함수를 사용하는 publish() 경우에만 레거시 구독 라우터 구성 요소가 필요합니다. AWS IoT Greengrass SDK V2에서 AWS IoT Device SDK 프로세스 간 통신 IPC () 인터페이스를 사용하도록 Lambda 함수 코드를 업데이트하면 레거시 구독 라우터 구성 요소를 배포할 필요가 없습니다. 자세한 내용은 다음 프로세스 통신 서비스를 참조하십시오.

버전

이 구성 요소의 버전은 다음과 같습니다.

  • 2.1.x

  • 2.0.x

유형

구성 요소는 일반 구성 요소 () aws.greengrass.generic 입니다. Greengrass 핵은 구성 요소의 라이프사이클 스크립트를 실행합니다.

자세한 내용은 구성 요소 유형 단원을 참조하십시오.

운영 체제

이 구성 요소는 Linux 코어 디바이스에만 설치할 수 있습니다.

요구 사항

이 구성 요소의 요구 사항은 다음과 같습니다.

  • 레거시 구독 라우터는 a에서 실행되도록 지원됩니다VPC.

의존성

구성 요소를 배포하면 호환되는 버전의 종속 AWS IoT Greengrass 항목도 배포됩니다. 즉, 구성 요소를 성공적으로 배포하려면 구성 요소 및 해당 종속성에 대한 요구 사항을 모두 충족해야 합니다. 이 섹션에는 이 구성 요소의 릴리스된 버전에 대한 종속성과 각 종속성에 대한 구성 요소 버전을 정의하는 시맨틱 버전 제약 조건이 나열되어 있습니다. 콘솔에서 구성 요소의 각 버전에 대한 종속성을 볼 수도 있습니다.AWS IoT Greengrass 구성 요소 세부 정보 페이지에서 종속성 목록을 찾아보십시오.

2.1.12

다음 표에는 이 구성 요소의 버전 2.1.12에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.0.0 <2.14.0 소프트
2.1.11

다음 표에는 이 구성 요소의 버전 2.1.11에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.0.0 <2.13.0 소프트
2.1.10

다음 표에는 이 구성 요소의 버전 2.1.10에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.0.0 <2.12.0 소프트
2.1.9

다음 표에는 이 구성 요소의 버전 2.1.9에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.0.0 <2.11.0 소프트
2.1.8

다음 표에는 이 구성 요소의 버전 2.1.8에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.0.0 <2.10.0 소프트
2.1.7

다음 표에는 이 구성 요소의 버전 2.1.7에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.0.0 <2.9.0 소프트
2.1.6

다음 표에는 이 구성 요소의 버전 2.1.6에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.0.0 <2.8.0 소프트
2.1.5

다음 표에는 이 구성 요소의 버전 2.1.5에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.0.0 <2.7.0 소프트
2.1.4

다음 표에는 이 구성 요소의 버전 2.1.4에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.0.0 <2.6.0 소프트
2.1.3

다음 표에는 이 구성 요소의 버전 2.1.3에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.0.0 <2.5.0 소프트
2.1.2

다음 표에는 이 구성 요소의 버전 2.1.2에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.0.0 <2.4.0 소프트
2.1.1

다음 표에는 이 구성 요소의 버전 2.1.1에 대한 종속성이 나열되어 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.0.0 <2.3.0 소프트
2.1.0

다음 표에는 이 구성 요소의 버전 2.1.0에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.0.0 <2.2.0 소프트
2.0.3

다음 표에는 이 구성 요소의 버전 2.0.3에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.0.3 <2.1.0 소프트

구성 요소 종속성에 대한 자세한 내용은 구성 요소 레시피 참조를 참조하십시오.

구성

이 구성 요소는 구성 요소를 배포할 때 사용자 지정할 수 있는 다음과 같은 구성 매개 변수를 제공합니다.

v2.1.x
subscriptions

(선택 사항) 코어 디바이스에서 활성화할 서브스크립션. 이 객체는 각 키가 고유한 ID이고 각 값은 해당 커넥터의 구독을 정의하는 객체입니다. Core를 사용하는 V1 커넥터 구성 요소 또는 Lambda 함수를 배포할 때 구독을 구성해야 합니다. AWS IoT Greengrass SDK

각 구독 객체에는 다음 정보가 포함됩니다.

id

이 구독의 고유 ID. 이 ID는 이 구독 객체의 키와 일치해야 합니다.

source

SDKCore를 사용하여 AWS IoT Greengrass 지정한 주제에 대한 메시지를 MQTT 게시하는 Lambda 함수입니다. subject 다음 중 하나를 지정하세요.

  • 코어 디바이스의 Lambda 함수 구성 요소 이름. component:접두사를 사용하여 구성 요소 이름을 지정합니다 (예:). component:com.example.HelloWorldLambda

  • 코어 디바이스에 있는 Lambda 함수의 Amazon 리소스 이름 (ARN).

    중요

    Lambda 함수 버전이 변경되는 경우 새 버전의 함수로 구독을 구성해야 합니다. 그렇지 않으면 이 구성 요소는 버전이 구독과 일치할 때까지 메시지를 라우팅하지 않습니다.

    가져올 함수 버전이 포함된 Amazon 리소스 이름 (ARN) 을 지정해야 합니다. $LATEST같은 버전 별칭을 사용할 수 없습니다.

V1 커넥터 구성 요소에 대한 구독을 배포하려면 구성 요소의 이름 또는 커넥터 구성 요소의 Lambda 함수 이름을 지정하십시오. ARN

subject

소스 및 대상이 메시지를 게시하고 수신할 수 있는 MQTT 주제 또는 주제 필터. 이 값은 +# 주제 와일드카드를 지원합니다.

target

에서 subject 지정한 주제에 대한 MQTT 메시지를 받는 대상입니다. 구독은 함수가 코어 디바이스의 Lambda source 함수에 MQTT 메시지를 AWS IoT Core 게시하거나 코어 디바이스에 Lambda 함수에 메시지를 게시하도록 지정합니다. 다음 중 하나를 지정하세요.

  • cloud. source함수는 MQTT 메시지를 에 AWS IoT Core게시합니다.

  • 코어 디바이스의 Lambda 함수 구성 요소 이름. component:접두사를 사용하여 구성 요소 이름을 지정합니다 (예:). component:com.example.HelloWorldLambda

  • 코어 디바이스에 있는 Lambda 함수의 Amazon 리소스 이름 (ARN).

    중요

    Lambda 함수 버전이 변경되는 경우 새 버전의 함수로 구독을 구성해야 합니다. 그렇지 않으면 이 구성 요소는 버전이 구독과 일치할 때까지 메시지를 라우팅하지 않습니다.

    가져올 함수 버전이 포함된 Amazon 리소스 이름 (ARN) 을 지정해야 합니다. $LATEST같은 버전 별칭을 사용할 수 없습니다.

기본값: 구독 없음

예 구성 업데이트 예시 (구독 정의) AWS IoT Core

다음 예제는 com.example.HelloWorldLambda Lambda 함수 구성 요소가 주제에 대해 메시지를 MQTT AWS IoT Core 게시하도록 지정합니다. hello/world

{ "subscriptions": { "Greengrass_HelloWorld_to_cloud": { "id": "Greengrass_HelloWorld_to_cloud", "source": "component:com.example.HelloWorldLambda", "subject": "hello/world", "target": "cloud" } } }
예 구성 업데이트 예제 (다른 Lambda 함수에 대한 구독 정의)

다음 예제는 com.example.HelloWorldLambda Lambda 함수 구성 요소가 주제에 대한 Lambda 함수 구성 요소에 MQTT 메시지를 게시하도록 지정합니다. com.example.MessageRelay hello/world

{ "subscriptions": { "Greengrass_HelloWorld_to_MessageRelay": { "id": "Greengrass_HelloWorld_to_MessageRelay", "source": "component:com.example.HelloWorldLambda", "subject": "hello/world", "target": "component:com.example.MessageRelay" } } }
v2.0.x
subscriptions

(선택 사항) 코어 디바이스에서 활성화할 구독. 이 객체는 각 키가 고유한 ID이고 각 값은 해당 커넥터의 구독을 정의하는 객체입니다. Core를 사용하는 V1 커넥터 구성 요소 또는 Lambda 함수를 배포할 때 구독을 구성해야 합니다. AWS IoT Greengrass SDK

각 구독 객체에는 다음 정보가 포함됩니다.

id

이 구독의 고유 ID. 이 ID는 이 구독 객체의 키와 일치해야 합니다.

source

SDKCore를 사용하여 AWS IoT Greengrass 지정한 주제에 대한 메시지를 MQTT 게시하는 Lambda 함수입니다. subject 다음을 지정합니다.

  • 코어 디바이스에 있는 Lambda 함수의 Amazon 리소스 이름 (ARN).

    중요

    Lambda 함수 버전이 변경되는 경우 새 버전의 함수로 구독을 구성해야 합니다. 그렇지 않으면 이 구성 요소는 버전이 구독과 일치할 때까지 메시지를 라우팅하지 않습니다.

    가져올 함수 버전이 포함된 Amazon 리소스 이름 (ARN) 을 지정해야 합니다. $LATEST같은 버전 별칭을 사용할 수 없습니다.

V1 커넥터 구성 요소에 대한 구독을 배포하려면 커넥터 구성 요소의 Lambda 함수를 지정하십시오. ARN

subject

소스 및 대상이 메시지를 게시하고 수신할 수 있는 MQTT 주제 또는 주제 필터. 이 값은 +# 주제 와일드카드를 지원합니다.

target

에서 subject 지정한 주제에 대한 MQTT 메시지를 받는 대상입니다. 구독은 함수가 코어 디바이스의 Lambda source 함수에 MQTT 메시지를 AWS IoT Core 게시하거나 코어 디바이스에 Lambda 함수에 메시지를 게시하도록 지정합니다. 다음 중 하나를 지정하세요.

  • cloud. source함수는 MQTT 메시지를 에 AWS IoT Core게시합니다.

  • 코어 디바이스에 있는 Lambda 함수의 Amazon 리소스 이름 (ARN).

    중요

    Lambda 함수 버전이 변경되는 경우 새 버전의 함수로 구독을 구성해야 합니다. 그렇지 않으면 이 구성 요소는 버전이 구독과 일치할 때까지 메시지를 라우팅하지 않습니다.

    가져올 함수 버전이 포함된 Amazon 리소스 이름 (ARN) 을 지정해야 합니다. $LATEST같은 버전 별칭을 사용할 수 없습니다.

기본값: 구독 없음

예 구성 업데이트 예시 (구독 정의) AWS IoT Core

다음 예제에서는 Greengrass_HelloWorld 함수가 hello/world 주제에 MQTT 메시지를 게시하도록 AWS IoT Core 지정합니다.

"subscriptions": { "Greengrass_HelloWorld_to_cloud": { "id": "Greengrass_HelloWorld_to_cloud", "source": "arn:aws:lambda:us-west-2:123456789012:function:Greengrass_HelloWorld:5", "subject": "hello/world", "target": "cloud" } }
예 구성 업데이트 예제 (다른 Lambda 함수에 대한 구독 정의)

다음 예제는 Greengrass_HelloWorld 함수가 주제에 MQTT 메시지를 게시하도록 지정합니다Greengrass_MessageRelay. hello/world

"subscriptions": { "Greengrass_HelloWorld_to_MessageRelay": { "id": "Greengrass_HelloWorld_to_MessageRelay", "source": "arn:aws:lambda:us-west-2:123456789012:function:Greengrass_HelloWorld:5", "subject": "hello/world", "target": "arn:aws:lambda:us-west-2:123456789012:function:Greengrass_MessageRelay:5" } }

로컬 로그 파일

이 구성 요소는 로그를 출력하지 않습니다.

Changelog

다음 표에는 각 구성 요소 버전의 변경 사항이 설명되어 있습니다.

버전

변경

2.1.12

그린그래스 뉴클리어스 버전 2.13.0 릴리스를 위해 버전이 업데이트되었습니다.

2.1.11

그린그래스 뉴클리어스 버전 2.12.0 릴리스를 위해 버전이 업데이트되었습니다.

2.1.10

그린그래스 뉴클리어스 버전 2.11.0 릴리스를 위해 버전이 업데이트되었습니다.

2.1.9

그린그래스 뉴클리어스 버전 2.10.0 릴리스를 위해 버전이 업데이트되었습니다.

2.1.8

Greengrass 뉴클리어스 버전 2.9.0 릴리스를 위해 버전이 업데이트되었습니다.

2.1.7

Greengrass 뉴클리어스 버전 2.8.0 릴리스를 위해 버전이 업데이트되었습니다.

2.1.6

Greengrass 뉴클리어스 버전 2.7.0 릴리스를 위해 버전이 업데이트되었습니다.

2.1.5

Greengrass 뉴클리어스 버전 2.6.0 릴리스를 위해 버전이 업데이트되었습니다.

2.1.4

Greengrass 뉴클리어스 버전 2.5.0 릴리스를 위해 버전이 업데이트되었습니다.

2.1.3

그린그래스 뉴클리어스 버전 2.4.0 릴리스를 위해 버전이 업데이트되었습니다.

2.1.2

그린그래스 뉴클리어스 버전 2.3.0 릴리스를 위해 버전이 업데이트되었습니다.

2.1.1

Greengrass 뉴클리어스 버전 2.2.0 릴리스를 위해 버전이 업데이트되었습니다.

2.1.0

버그 수정 및 개선
  • ARNsfor source 및 대신 구성 요소 이름을 지정하는 서포트를 추가합니다target. 구독의 구성 요소 이름을 지정하면 Lambda 함수 버전이 변경될 때마다 구독을 재구성할 필요가 없습니다.

2.0.3

초기 버전