AWS Snowball Edge AWS Lambda での の使用 - AWS Snowball Edge デベロッパーガイド

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

AWS Snowball Edge AWS Lambda での の使用

AWS Lambda を搭載した AWS IoT Greengrass は、サーバーレスコード (Lambda 関数) を Snowball Edge デバイスでローカルに実行できるコンピューティングサービスです。Lambda を使用して、Message Queuing Telemetry Transport (MQTT) メッセージを使用して Snowball Edge デバイスで Lambda 関数を呼び出し、Lambda 関数で Python コードを実行し、それらを使用してクラウド内のパブリック AWS サービスエンドポイントを呼び出すことができます。Snowball Edge デバイスで Lambda 関数を使用するには、 で AWS リージョン サポートされている で Snowball Edge ジョブを作成する必要があります AWS IoT Greengrass。有効な のリストについては AWS リージョン、「」のAWS IoT Greengrass「」を参照してください AWS 全般のリファレンス。Lambda on Snowball Edge は、Lambda と Snowball Edge デバイスを利用可能なリージョンで使用できます。

注記

各関数に最小推奨値である 128 MB のメモリを割り当てた場合、1 つのジョブに最大 7 つの Lambda 関数を使用することができます。

開始する前に

Snowball Edge で実行する Python 言語の Lambda 関数を作成する前に、次のサービス、概念、関連トピックを十分に理解しておくことをお勧めします。

の前提条件 AWS IoT Greengrass

AWS IoT Greengrass は、 AWS クラウド 機能をローカルデバイスに拡張するソフトウェアです。 AWS IoT Greengrass を使用すると、ローカルデバイスは、ローカルネットワーク上で相互に安全に通信しながら、情報ソースに近いデータを収集および分析できます。具体的には、 を使用するデベロッパー AWS IoT Greengrass は、 でサーバーレスコード (Lambda 関数) を作成できます AWS クラウド。そして開発者は簡単にこのコードをデバイスにデプロイし、ローカルでアプリケーションを実行できます。

Snowball Edge AWS IoT Greengrass で を使用する際に理解しておくべき重要な AWS IoT Greengrass 概念は次のとおりです。

  • AWS IoT Greengrass 要件 – AWS IoT Greengrass 要件の完全なリストについては、「 AWS IoT Greengrass Version 2 デベロッパーガイド」の「要件」を参照してください。

  • AWS IoT Greengrass core – AWS IoT Greengrass コアソフトウェアをダウンロードし、デバイスで実行されている EC2 インスタンスにインストールします。このガイドのAWS IoT Greengrass Amazon EC2 インスタンスでの の使用」を参照してください。

    Snowball Edge デバイスで Lambda 関数を使用するには、まずデバイスの Amazon EC2 インスタンスに AWS IoT Greengrass Core ソフトウェアをインストールする必要があります。Snowball Edge デバイスで使用する予定の Lambda 関数は、Snowball Edge デバイス AWS IoT Greengrass へのインストールに使用するのと同じアカウントで作成する必要があります。Snowball Edge デバイスに をインストールする方法については、 AWS IoT Greengrass 「」を参照してくださいAWS IoT Greengrass を使用して、Amazon EC2 互換インスタンスでプリインストールされたソフトウェアを実行する

  • AWS IoT Greengrass グループ – Snowball Edge デバイスは、 AWS IoT Greengrass グループのコアデバイスとして グループの一部です。グループの詳細については、「AWS IoT Greengrass デベロッパーガイド」の「AWS Greengrass IoT Groups」を参照してください。

  • MQTT – 業界標準 AWS IoT Greengrass の軽量 MQTT プロトコルを使用して、グループ内で通信します。 AWS IoT Greengrass グループ内の MQTT と互換性のあるデバイスまたはソフトウェアは、MQTT メッセージを呼び出すことができます。関連する MQTT メッセージが関数を呼び出すように指定した場合、これらのメッセージで Lambda 関数を呼び出すことができます。

の前提条件 AWS Lambda

AWS Lambda は、サーバーのプロビジョニングや管理を行わずにコードを実行できるようにするコンピューティングサービスです。Snowball Edge で Lambda を使用する際には、以下の Lambda 概念を理解していることが重要です。

  • Lambda 関数 - Lambda にアップロードされ、公開されるカスタムコードで、Snowball Edge で使用されます。詳細については、AWS Lambda デベロッパーガイドLambda 関数を参照してください。

  • Lambda コンソール – Snowball Edge で使用する Python 言語 Lambda 関数をアップロード、更新、発行するコンソール。Lambda コンソールの詳細については、「AWS Lambda デベロッパーガイド」の「Lambda コンソール」を参照してください。

  • Python – Snowball Edge AWS IoT Greengrass の を搭載した Lambda 関数に使用される高レベルのプログラミング言語。 は Python バージョン 3.8.x AWS IoT Greengrass をサポートしています。

Snowball Edge デバイスに Lambda 関数をデプロイする

AWS IoT Greengrass グループ内の Snowball Edge デバイスで Lambda 関数を実行するには、関数をコンポーネントとしてインポートします。 AWS IoT Greengrass コンソールを使用して関数をコンポーネントとしてインポートする方法の詳細については、「 AWS IoT Greengrass Version 2 デベロッパーガイド」の「コンポーネントとして Lambda 関数をインポートする (コンソール)」を参照してください。

  1. AWS IoT コンソールの Greengrass コンポーネントページで、コンポーネントの作成 を選択します。

  2. [コンポーネントソース] で、[Lambda 関数をインポート] を選択します。[Lambda 関数] で Lambda 関数の名前を選択します。[Lambda 関数バージョン] で、関数のバージョンを選択します。

  3. アクションの対象となるメッセージに関数をサブスクライブするには、[イベントソースを追加] を選択し、イベントを選択します。[タイムアウト (秒)] に、タイムアウト時間を秒単位で入力します。

  4. [固定] で、関数を固定するかどうかを選択します。

  5. [コンポーネントを作成] を選択します。

  6. [デプロイ] を選択します。

  7. [デプロイ][既存のデプロイに追加] を選択し、Greengrass グループを選択します。[次へ] をクリックします。

  8. [パブリックコンポーネント] で、以下のコンポーネントを選択します。

    • aws.greengrass.Cli

    • aws.greengrass。LambdaLauncher

    • aws.greengrass。LambdaManager

    • aws.greengrass。LambdaRuntimes

    • aws.greengrass.Nucleus

  9. [デプロイ] を選択します。