AWS IoT Greengrass バージョン 1 のドキュメントを参照することができます。AWS IoT Greengrass バージョン 2 は、AWS IoT Greengrass の最新のメジャーバージョンです。AWS IoT Greengrass バージョン 2 の使用の詳細については、「AWS Greengrass V2 開発者ガイドIoT」を参照してください。
「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」
Lambda 関数の作成とパッケージ化
このモジュールの Python Lambda 関数の例では、AWS IoT Greengrass Core SDK for Python を使用して MQTT メッセージを発行します。
このステップでは、次の操作を行います。
-
AWS IoT Greengrass Core SDK for Python を使用するコンピュータ (AWS IoT Greengrass コア デバイスではなく) にダウンロードします。
-
Lambda 関数コードと依存関係を含む関数デプロイパッケージを作成します。
-
Lambda コンソールを使用し、Lambda 関数を作成してデプロイパッケージをアップロードします。
-
Lambda 関数のバージョンを発行し、そのバージョンを指すエイリアスを作成します。
このモジュールを完了するには、Python 3.7 をコアデバイスにインストールする必要があります。
-
AWS IoT Greengrass Core SDK ダウンロード ページから、AWS IoT Greengrass Core SDK for Python をコンピュータにダウンロードします。
-
ダウンロードしたパッケージを解凍して、Lambda 関数コードおよび SDK を取得します。
このモジュールの Lambda 関数では、以下を使用します。
-
の
greengrassHelloWorld.py
ファイル。examples\HelloWorld
これが Lambda 関数コードです。関数は 5 秒ごとに 2 つのメッセージのいずれかをhello/world
トピックに発行します。 -
greengrasssdk
フォルダ。これは SDK です。
-
-
greengrasssdk
を含むHelloWorld
フォルダにgreengrassHelloWorld.py
. フォルダをコピーします。 -
関数デプロイパッケージを作成するには、Lambda と
greengrassHelloWorld.py
フォルダをgreengrasssdk
という名前の圧縮されたzip
ファイルに保存します。hello_world_python_lambda.zip
ファイルとpy
フォルダはディレクトリのルートにある必要があります。greengrasssdk
UNIX 互換システム (Mac のターミナルを含む) では、次のコマンドを使用してファイルとフォルダをパッケージ化できます。
zip -r hello_world_python_lambda.zip greengrasssdk greengrassHelloWorld.py
注記 ディストリビューションによっては、必要に応じて最初に
zip
をインストールします。そのために、sudo apt-get install zip
). などを実行します。(インストールコマンドはお客様のディストリビューションと異なる場合があります)。これで、Lambda 関数を作成して、デプロイパッケージをアップロードする準備ができました。
-
Lambda コンソールを開き、[関数の作成.] を選択します。
-
Author from scratch (一から作成).] を選択します。
-
関数に
Greengrass_HelloWorld
という名前を付け、残りのフィールドを以下のように設定します。-
Runtime (ランタイム)] で [Python 3.7.] を選択します。
-
[アクセス許可] で、デフォルト設定を維持します。これにより、基本的な Lambda アクセス許可を付与する実行ロールが作成されます。このロールは AWS IoT Greengrass により使用されません。
Create function (関数の作成).] を選択します。
-
-
Lambda 関数デプロイパッケージをアップロードします。
-
[設定] タブの [関数コード] で、[] を選択します。Actions。 ドロップダウンから、[ Upload a .zip file。 次に、[
hello_world_python_lambda.zip
] を選択します。 -
[ランタイム設定] で、[ Edit。 [Edit runtime settings] ページで、残りのフィールドを以下のように設定します。
-
Runtime (ランタイム)] で [Python 3.7.] を選択します。
-
Handler (ハンドラ)] に「
greengrassHelloWorld.function_handler
」と入力します。
-
-
選択 Save.
注記 AWS Lambda コンソールの [テスト] ボタンは、この機能には使用できません。AWS IoT Greengrass Core SDK には、AWS Lambda コンソールで Greengrass Lambda 関数を個別に実行するために必要なモジュールが含まれていません。これらのモジュール (
greengrass_common
など) は、Greengrass コアにデプロイされた後で関数に指定されます。
-
-
Lambda 関数を発行します。
-
アクション] メニューから、[新しいバージョンを発行.] を選択します。
-
バージョンの説明] に「
First version
」と入力し、[発行.] を選択します。
-
-
注記 Greengrass グループは、Lambda 関数をエイリアス (推奨) またはバージョンで参照できます。エイリアスを使用する方がコード更新の管理が簡単です。関数コードが更新された場合にサブスクリプションテーブルやグループ定義を変更する必要がないためです。代わりに、新しい関数バージョンのエイリアスを指定します。
-
アクション] から [エイリアスの作成.] を選択します。
-
エイリアスに
GG_HelloWorld
という名前を付け、バージョンを1
(先ほど発行したバージョンに対応) に設定して、[作成.] を選択します。注記 AWS IoT Greengrass は、$LATEST バージョンの Lambda エイリアスをサポートしていません。
-