레거시 구독 라우터 - AWS IoT Greengrass

레거시 구독 라우터

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

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

참고

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

버전

이 구성 요소에는 다음과 같은 버전이 있습니다.

  • 2.1.x

  • 2.0.x

유형

구성 요소는 일반 구성 요소(aws.greengrass.generic)입니다. Greengrass nucleus는 구성 요소의 수명 주기 스크립트를 실행합니다.

자세한 내용은 구성 요소 유형 섹션을 참조하세요.

운영 체제

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

요구 사항

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

  • 레거시 구독 라우터는 VPC에서 실행할 수 있습니다.

의존성

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

2.1.12

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

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.14.0 소프트
2.1.11

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

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.13.0 소프트
2.1.10

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

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.12.0 소프트
2.1.9

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

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.11.0 소프트
2.1.8

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

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.10.0 소프트
2.1.7

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

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.9.0 소프트
2.1.6

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

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.8.0 소프트
2.1.5

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

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.7.0 소프트
2.1.4

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

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.6.0 소프트
2.1.3

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

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.5.0 소프트
2.1.2

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

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.4.0 소프트
2.1.1

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

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.3.0 소프트
2.1.0

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

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.0 <2.2.0 소프트
2.0.3

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

종속성 호환 버전 종속성 유형
Greengrass nucleus >=2.0.3 <2.1.0 소프트

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

구성

이 구성 요소는 구성 요소를 배포할 때 사용자 지정할 수 있는 다음 구성 파라미터를 제공합니다.

v2.1.x
subscriptions

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

각 구독 객체에는 다음 정보가 포함되어 있습니다.

id

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

source

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

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

  • 코어 디바이스에서 Lambda 함수의 Amazon 리소스 이름(ARN)입니다.

    중요

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

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

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

subject

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

target

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

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

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

  • 코어 디바이스에서 Lambda 함수의 Amazon 리소스 이름(ARN)입니다.

    중요

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

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

기본값: 구독 없음

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

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

{ "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 함수 구성 요소가 hello/world 주제에 대한 MQTT 메시지를 com.example.MessageRelay Lambda 함수 구성 요소에 게시하도록 지정합니다.

{ "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이고 각 값은 해당 커넥터의 구독을 정의하는 객체입니다. AWS IoT Greengrass 코어 SDK를 사용하는 V1 커넥터 구성 요소 또는 Lambda 함수를 배포할 때 구독을 구성해야 합니다.

각 구독 객체에는 다음 정보가 포함되어 있습니다.

id

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

source

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

  • 코어 디바이스에서 Lambda 함수의 Amazon 리소스 이름(ARN)입니다.

    중요

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

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

V1 커넥터 구성 요소에 대한 구독을 배포하려면 커넥터 구성 요소의 Lambda 함수의 ARN을 지정합니다.

subject

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

target

subject에서 지정하는 주제에 대한 MQTT 메시지를 수신하는 대상입니다. 구독에서는 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 함수가 hello/world 주제에 대한 MQTT 메시지를 Greengrass_MessageRelay에 게시하도록 지정합니다.

"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

Greengrass nucleus 버전 2.13.0 릴리스용으로 업데이트된 버전입니다.

2.1.11

Greengrass nucleus 버전 2.12.0 릴리스용으로 업데이트된 버전입니다.

2.1.10

Greengrass nucleus 버전 2.11.0 릴리스용으로 업데이트된 버전입니다.

2.1.9

Greengrass nucleus 버전 2.10.0 릴리스용으로 업데이트된 버전입니다.

2.1.8

Greengrass nucleus 버전 2.9.0 릴리스용으로 업데이트된 버전입니다.

2.1.7

Greengrass nucleus 버전 2.8.0 릴리스용으로 업데이트된 버전입니다.

2.1.6

Greengrass nucleus 버전 2.7.0 릴리스용으로 업데이트된 버전입니다.

2.1.5

Greengrass nucleus 버전 2.6.0 릴리스용으로 업데이트된 버전입니다.

2.1.4

Greengrass nucleus 버전 2.5.0 릴리스용으로 업데이트된 버전입니다.

2.1.3

Greengrass nucleus 버전 2.4.0 릴리스용으로 업데이트된 버전입니다.

2.1.2

Greengrass nucleus 버전 2.3.0 릴리스용으로 업데이트된 버전입니다.

2.1.1

Greengrass nucleus 버전 2.2.0 릴리스용으로 업데이트된 버전입니다.

2.1.0

버그 수정 및 개선 사항
  • sourcetarget에 대한 ARN 대신 구성 요소 이름을 지정할 수 있도록 하는 지원이 추가됩니다. 구독의 구성 요소 이름을 지정하는 경우 Lambda 함수 버전이 변경될 때마다 구독을 재구성할 필요가 없습니다.

2.0.3

초기 버전