オンデマンド 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 関数は、機能面でクラウドベースの AWS Lambda 関数に似ています。オンデマンド Lambda 関数の複数の呼び出しは、同時に実行できます。Lambda 関数の呼び出しは、呼び出し処理に別のコンテナを作成するか、あるいは、リソースで許可される場合には、既存のコンテナを再使用します。関数ハンドラの外部で定義される変数や前処理は、作成したコンテナには保持されません。

  1. グループ設定ページで、[Lambda functions] (Lambda 関数) タブを選択します。

  2. [My Lambda functions] (自分の Lambda 関数)で、Greengrass_HelloWorld_Counter[Lambda function](Lambda 関数) を選択します。

  3. Greengrass_HelloWorld_Counter [details](詳細) ページで、[Edit] (編集) を選択します。

  4. [Pinned] (固定) で、[False][Save] (保存) の順に選択します。

  5. グループ設定ページで、[Deploy] (デプロイ) を選択します。

  6. デプロイが完了したら、AWS IoT コンソールのホームページに戻って [Test] (テスト) を選択します。

  7. 次のフィールドを設定します。

    • [Subscription topic (サブスクリプショントピック)] で、hello/world/counter と入力します。

    • [サービスの品質] で [0] を選択します。

    • [MQTT ペイロード表示] で、[ペイロードを文字列として表示 (より正確)] を選択します。

    [サブスクリプションテスト] ページのスクリーンショット。
  8. [Subscribe] (サブスクライブ) を選択します。

    注記

    サブスクリプション後にメッセージは表示されません。

  9. オンデマンドのライフサイクルをテストするには、hello/world/counter/trigger トピックにメッセージを発行することで、関数を呼び出します。デフォルトのメッセージを使用できます。

    1. ボタンを押すたびに 5 秒以内に、[Publish] (発行) を 3 回すばやく選択します。

      すばやく 3 回クリックする必要がある [トピックに発行] ボタンを示すスクリーンショット。

      発行ごとに、関数ハンドラが呼び出され、各呼び出しのコンテナが作成されます。各オンデマンド Lambda 関数に独自のコンテナ/サンドボックスがあるため、3 回関数をトリガーしても呼び出しカウントが増分されることはありません。

      [呼び出しカウント] が 1 で固定されていることを示すスクリーンショット。
    2. 約 30 秒待機してから [トピックに発行] を選択します。呼び出しカウントを 2 に増分する必要があります。これは、前の呼び出しで以前に作成されたコンテナが再利用されており、関数ハンドラの外部の前処理変数が保存されていることを示しています。

      [呼び出しカウント] が現在 2 であることを示すスクリーンショット。

これで、AWS IoT Greengrass コア上で実行できる 2 つのタイプの Lambda 関数を理解しました。次のモジュール (モジュール 4) では、AWS IoT Greengrass グループでのローカル IoT デバイスの操作について説明します。