レガシーサブスクリプションルーター - AWS IoT Greengrass

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

レガシーサブスクリプションルーター

レガシーサブスクリプションルータ (aws.greengrass.LegacySubscriptionRouter) は、Greengrass コアデバイスのサブスクリプションを管理します。サブスクリプションは、Lambda 関数がコアデバイスで MQTT メッセージングに使用できるトピックを定義する AWS IoT Greengrass V1 の機能です。詳細については、「AWS IoT Greengrass V1 デベロッパーガイド」の「MQTT メッセージングワークフローにおけるマネージドサブスクリプション」を参照してください。

このコンポーネントを使用して、 AWS IoT Greengrass Core SDK を使用するコネクタコンポーネントと Lambda 関数コンポーネントのサブスクリプションを有効にできます。

注記

レガシーサブスクリプションルーターコンポーネントは、Lambda 関数が AWS IoT Greengrass Core 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 コンソールでも確認できます。コンポーネントの詳細ページで [Dependencies] (依存関係) リストを確認します。

2.1.13

次の表に、このコンポーネントのバージョン 2.1.13 の依存関係を示します。

依存関係 互換性のあるバージョン 依存関係タイプ
Greengrass nucleus >=2.0.0 <2.15.0 ソフト
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 ソフト

コンポーネントの依存関係の詳細については、「コンポーネント recipe のリファレンス」を参照してください。

設定

このコンポーネントには、コンポーネントのデプロイ時にカスタマイズできる次の設定パラメータが用意されています。

v2.1.x
subscriptions

(オプション) コアデバイスで有効にするサブスクリプション。これはオブジェクトで、各キーは一意の ID であり、各値はそのコネクタのサブスクリプションを定義するオブジェクトです。V1 コネクタコンポーネントまたは AWS IoT Greengrass Core SDK を使用する Lambda 関数をデプロイするときに、サブスクリプションを設定する必要があります。

各サブスクリプションオブジェクトには、次の情報が含まれます:

id

このサブスクリプションの一意の ID。この ID は、このサブスクリプションオブジェクトのキーと一致する必要があります。

source

AWS IoT Greengrass Core SDK を使用して、 で指定したトピックに MQTT メッセージを発行する Lambda 関数subject。次のいずれかを指定します。

  • コアデバイスでの Lambda 関数コンポーネントの名前。component:com.example.HelloWorldLambda などの component: プレフィックスを付けてコンポーネント名を指定します。

  • コアデバイスの Lambda 関数の Amazon リソースネーム (ARN)。

    重要

    Lambda 関数のバージョンが変更された場合は、関数の新しいバージョンでサブスクリプションを設定する必要があります。これを怠ると、バージョンがサブスクリプションと一致しないうちは、このコンポーネントはメッセージをルーティングしません。

    インポートする関数のバージョンが含まれた Amazon リソースネーム (ARN) を指定する必要があります。$LATEST のようなバージョンエイリアスは使用できません。

V1 コネクタコンポーネントのサブスクリプションをデプロイするには、コンポーネントの名前またはコネクタコンポーネントの Lambda 関数の ARN を指定します。

subject

ソースとターゲットがメッセージを発行および受信できる MQTT トピックまたはトピックフィルター。この値は + および # トピックのワイルドカードをサポートしています。

target

subject で指定したトピックに関する MQTT メッセージを受信するターゲット。サブスクリプションは、 source関数がコアデバイスの Lambda 関数 AWS IoT Core に対して MQTT メッセージを発行することを指定します。次のいずれかを指定します。

  • cloudsource 関数は MQTT メッセージを に発行します AWS IoT Core。

  • コアデバイスでの Lambda 関数コンポーネントの名前。component:com.example.HelloWorldLambda などの component: プレフィックスを付けてコンポーネント名を指定します。

  • コアデバイスの Lambda 関数の Amazon リソースネーム (ARN)。

    重要

    Lambda 関数のバージョンが変更された場合は、関数の新しいバージョンでサブスクリプションを設定する必要があります。これを怠ると、バージョンがサブスクリプションと一致しないうちは、このコンポーネントはメッセージをルーティングしません。

    インポートする関数のバージョンが含まれた Amazon リソースネーム (ARN) を指定する必要があります。$LATEST のようなバージョンエイリアスは使用できません。

デフォルト: サブスクリプションなし

例 設定更新の例 (サブスクリプションの定義 AWS IoT Core)

次の例では、com.example.HelloWorldLambdaLambda 関数コンポーネントが hello/worldトピック AWS IoT Core で MQTT メッセージを に発行するように指定します。

{ "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 関数コンポーネントが com.example.MessageRelay Lambda 関数コンポーネントに hello/world トピックに関する MQTT メッセージを公開することを指定します。

{ "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 であり、各値はそのコネクタのサブスクリプションを定義するオブジェクトです。V1 コネクタコンポーネントまたは AWS IoT Greengrass Core SDK を使用する Lambda 関数をデプロイするときに、サブスクリプションを設定する必要があります。

各サブスクリプションオブジェクトには、次の情報が含まれます:

id

このサブスクリプションの一意の ID。この ID は、このサブスクリプションオブジェクトのキーと一致する必要があります。

source

AWS IoT Greengrass Core SDK を使用して、 で指定したトピックに MQTT メッセージを発行する Lambda 関数subject。次を指定します:

  • コアデバイスの Lambda 関数の Amazon リソースネーム (ARN)。

    重要

    Lambda 関数のバージョンが変更された場合は、関数の新しいバージョンでサブスクリプションを設定する必要があります。これを怠ると、バージョンがサブスクリプションと一致しないうちは、このコンポーネントはメッセージをルーティングしません。

    インポートする関数のバージョンが含まれた Amazon リソースネーム (ARN) を指定する必要があります。$LATEST のようなバージョンエイリアスは使用できません。

V1 コネクタコンポーネントのサブスクリプションをデプロイするには、コネクタコンポーネントの Lambda 関数の ARN を指定します。

subject

ソースとターゲットがメッセージを発行および受信できる MQTT トピックまたはトピックフィルター。この値は + および # トピックのワイルドカードをサポートしています。

target

subject で指定したトピックに関する MQTT メッセージを受信するターゲット。サブスクリプションは、 source関数がコアデバイスの Lambda 関数 AWS IoT Core に対して MQTT メッセージを発行することを指定します。次のいずれかを指定します。

  • cloudsource 関数は MQTT メッセージを に発行します AWS IoT Core。

  • コアデバイスの Lambda 関数の Amazon リソースネーム (ARN)。

    重要

    Lambda 関数のバージョンが変更された場合は、関数の新しいバージョンでサブスクリプションを設定する必要があります。これを怠ると、バージョンがサブスクリプションと一致しないうちは、このコンポーネントはメッセージをルーティングしません。

    インポートする関数のバージョンが含まれた Amazon リソースネーム (ARN) を指定する必要があります。$LATEST のようなバージョンエイリアスは使用できません。

デフォルト: サブスクリプションなし

例 設定更新の例 (サブスクリプションの定義 AWS IoT Core)

次の例では、 Greengrass_HelloWorld関数が hello/worldトピック AWS IoT Core の に MQTT メッセージを発行するように指定します。

"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 関数が Greengrass_MessageRelayhello/world トピックに関する MQTT メッセージを公開することを指定します。

"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" } }

ローカルログファイル

このコンポーネントはログを出力しません。

変更ログ

次の表は、コンポーネントの各バージョンにおける変更を示します。

バージョン

変更

2.1.13

Greengrass nucleus バージョン 2.14.0 のリリース用にバージョンが更新されました。

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

当初のバージョン