サポート終了通知: 2025 年 10 月 31 日、 AWS は Amazon Lookout for Vision のサポートを終了します。2025 年 10 月 31 日以降、Lookout for Vision コンソールまたは Lookout for Vision リソースにアクセスできなくなります。詳細については、このブログ記事
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
クライアントアプリケーションコンポーネントの作成
gRPC スタブを生成し、クライアントアプリケーションコードの準備ができたら、クライアントアプリケーションコンポーネントを作成できます。作成するコンポーネントは、AWS IoT Greengrass Version 2 コアデバイスに AWS IoT Greengrass V2 によりデプロイするカスタムコンポーネントです。作成するレシピには、カスタムコンポーネントが記述されます。レシピには、デプロイする必要もある依存関係すべてが含まれています。この場合、Amazon Lookout for Vision モデルのパッケージング で作成するモデルコンポーネントを指定します。コンポーネントレシピの詳細については、「AWS IoT Greengrass Version 2 コンポーネントレシピリファレンス」を参照してください。
このトピックの手続きでは、レシピファイルからクライアントアプリケーションコンポーネントを作成し、AWS IoT Greengrass V2 カスタムコンポーネントとして公開する方法を示します。AWS IoT Greengrass V2 コンソールまたは AWS SDK を使用してコンポーネントを公開できます。
カスタムコンポーネントの作成について詳しくは、AWS IoT Greengrass V2 ドキュメンテーションで以下を参照してください。
トピック
クライアントアプリケーションコンポーネントを公開するための IAM 権限
クライアントアプリケーションコンポーネントを作成して公開するには、次の IAM 権限が必要です。
greengrass:CreateComponentVersion
greengrass:DescribeComponent
s3:PutObject
レシピの作成
この手続きでは、シンプルなクライアントアプリケーションコンポーネントのレシピを作成します。lookoutvision_edge_agent_example.py
内のコードには、デバイスにデプロイされるモデルが一覧表示され、コンポーネントをコアデバイスにデプロイすると自動的に実行されます。出力を確認するには、コンポーネントをデプロイした後にコンポーネントログをチェックします。詳細については「デバイスへのコンポーネントのデプロイ」を参照してください。準備ができたら、以下の手続きを使用して、ビジネスロジックを実装するコードのレシピを作成します。
レシピは JSON または YAML 形式のファイルとして作成します。また、Amazon S3 バケットにクライアントアプリケーションコードをアップロードします。
クライアントアプリケーションコンポーネントのレシピを作成するには
まだ作成していない場合、gRPC スタブコマンドを作成します。詳細については「gRPC のセットアップ」を参照してください。
次のコードを
lookoutvision_edge_agent_example.py
という名前のファイルに保存します。import grpc from edge_agent_pb2_grpc import EdgeAgentStub import edge_agent_pb2 as pb2 # Creating stub. with grpc.insecure_channel("unix:///tmp/aws.iot.lookoutvision.EdgeAgent.sock") as channel: stub = EdgeAgentStub(channel) # Add additional code that works with Edge Agent in this block to prevent resources leakage models_list_response = stub.ListModels( pb2.ListModelsRequest() ) for model in models_list_response.models: print(f"Model Details {model}")
-
Amazon S3 バケットを作成 (または既存のバケットを使用) して、クライアントアプリケーションコンポーネントのソースファイルを保存します。バケットは AWS アカウント内にあり、AWS IoT Greengrass Version 2 と Amazon Lookout for Vision を使う同じ AWS リージョンに存在する必要があります。
-
前のステップで作成した Amazon S3 バケットに
lookoutvision_edge_agent_example.py
、edge_agent_pb2_grpc.py and edge_agent_pb2.py
をアップロードします。各ファイルの Amazon S3 パスをメモします。edge_agent_pb2_grpc.py
とedge_agent_pb2.py
を gRPC のセットアップ で作成しました。 -
エディタで、次の JSON または YAML レシピファイルを作成します。
-
model_component
を、モデルコンポーネントの名前に。詳細については「コンポーネント設定」を参照してください。 -
URI エントリを
lookoutvision_edge_agent_example.py
、edge_agent_pb2_grpc.py
、edge_agent_pb2.py
の S3 パスに変更します。
-
JSON または YAML ファイルをコンピュータに保存します。
次のいずれかを実行して、クライアントアプリケーションコンポーネントを作成します:
AWS IoT Greengrass コンソールを使用したい場合は、クライアントアプリケーションコンポーネントの公開 (コンソール) を行います。
AWS SDK を使用したい場合は、クライアントアプリケーションコンポーネントの公開 (SDK) を行います。
クライアントアプリケーションコンポーネントの公開 (コンソール)
AWS IoT Greengrass V2 コンソールを使用してクライアントアプリケーションコンポーネントを公開できます。
クライアントアプリケーションコンポーネントを公開するには
まだ作成していない場合は、レシピの作成 を実行してクライアントアプリケーションコンポーネントのレシピを作成します。
AWS IoT Greengrass コンソール (https://console.aws.amazon.com/es/
) を開きます。 左ナビゲーションペインの [Greengrass] で [コンポーネント] を選択します。
[マイコンポーネント] で [コンポーネントを作成] を選択します。
JSON 形式のレシピを使用する場合は、「コンポーネント作成する」ページで [レシピを JSON として入力] を選択します。YAML 形式のレシピを使用する場合は、[レシピを YAML として入力] を選択します。
「レシピ」で、既存のレシピを、レシピの作成 で作成した JSON または YAML レシピに置き換えます。
[コンポーネントを作成] を選択します。
次に、クライアントアプリケーションコンポーネントをデプロイします。
クライアントアプリケーションコンポーネントの公開 (SDK)
CreateComponentVersion API を使用してクライアントアプリケーションコンポーネントを公開できます。
クライアントアプリケーションコンポーネントを公開するには (SDK)
まだの場合は、レシピの作成 を行ってクライアントアプリケーションコンポーネントのレシピを作成します。
コマンドプロンプトで、次のコマンドを入力してクライアントアプリケーションコンポーネントを作成します。
recipe-file
を レシピの作成 で作成したレシピファイルの名前に置き換えます。aws greengrassv2 create-component-version --inline-recipe fileb://
recipe-file
リスポンスのコンポーネントの ARN をメモします。それは次の手順で必要となります。
以下のコマンドを使用して、クライアントアプリケーションコンポーネントのステータスを取得します。
component-arn
を、前のステップでメモした ARN に置き換えます。componentState
の値がDEPLOYABLE
であれば、クライアントアプリケーションコンポーネントは準備完了です。aws greengrassv2 describe-component --arn
component-arn
次に、クライアントアプリケーションコンポーネントをデプロイします。