翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
クライアントアプリケーションコンポーネントの作成
gRPC スタブを生成し、クライアントアプリケーションコードの準備ができたら、クライアントアプリケーションコンポーネントを作成できます。作成するコンポーネントは、AWS IoT Greengrass Version 2AWS IoT Greengrass V2コアデバイスにデプロイするカスタムコンポーネントです。作成するレシピには、カスタムコンポーネントが記述されます。レシピには、デプロイが必要な依存関係もすべて含まれています。この場合、で作成するモデルコンポーネントを指定しますAmazon Lookout for Vision モデルのパッケージング。コンポーネントレシピの詳細については、「AWS IoT Greengrass Version 2コンポーネント recipe のリファレンス」を参照してください。
このトピックの手順では、レシピファイルからクライアントアプリケーションコンポーネントを作成し、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アカウント内で、Amazon Lookout for VisionAWSAWS IoT Greengrass Version 2 を使用しているのと同じリージョンにある必要があります。
-
前の手順で作成した 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 エントリを、、およびの S3
edge_agent_pb2.py
パスに変更します。lookoutvision_edge_agent_example.py
edge_agent_pb2_grpc.py
-
JSON ファイルまたは YAML ファイルをコンピューターに保存します。
次のいずれかを実行して、クライアントアプリケーションコンポーネントを作成します。
AWS IoT Greengrassコンソールを使用する場合は、使用してくださいクライアントアプリケーションコンポーネントの公開 (コンソール)。
AWSSDK を使用する場合は、使用してくださいクライアントアプリケーションコンポーネント (SDK) の公開。
クライアントアプリケーションコンポーネントの公開 (コンソール)
AWS IoT Greengrass V2コンソールを使用してクライアントアプリケーションコンポーネントを公開できます。
クライアントアプリケーションコンポーネントを公開するには
を使用してクライアントアプリケーションコンポーネントのレシピを作成します (まだ作成していない場合) を作成します (まだ作成していない場合)レシピの作成。
https://console.aws.amazon.com/iot/AWS IoT Greengrass
でコンソールを開きます 左側のナビゲーションペインの Greengrass で、「コンポーネント」を選択します。
[マイコンポーネント] で [コンポーネントを作成] を選択します。
JSON 形式のレシピを使用する場合は、「コンポーネントの作成」ページで「レシピを JSON 形式で入力」を選択します。YAML 形式のレシピを使用する場合は、「レシピを YAML として入力」を選択します。
「レシピ」で、既存のレシピを、で作成した JSON または YAMLレシピの作成 レシピに置き換えます。
[Create component] (コンポーネントの作成) を選択します。
クライアントアプリケーションコンポーネント (SDK) の公開
CreateComponentVersionAPI を使用してクライアントアプリケーションコンポーネントを公開できます。
クライアントアプリケーションコンポーネント (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