デプロイ通知の取得 - AWS IoT Greengrass

AWS IoT Greengrass バージョン 1 のドキュメントを表示しています。AWS IoT Greengrass バージョン 2 は AWS IoT Greengrass の最新メジャーバージョンです。AWS IoT Greengrass バージョン 2 の使用の詳細についてはAWS IoT Greengrass V2 開発者ガイドを参照してください

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

デプロイ通知の取得

Amazon EventBridge event rules provide you with notifications about state changes for your Greengrass group deployments. EventBridge delivers a near real-time stream of system events that describes changes in AWS resources. AWS IoT Greengrass sends these events to EventBridge on an at least once basis. This means that AWS IoT Greengrass might send multiple copies of a given event to ensure delivery. Additionally, your event listeners might not receive the events in the order that the events occurred.

注記

Amazon EventBridge is an event bus service that you can use to connect your applications with data from a variety of sources, such as Greengrass core devices and deployment notifications. For more information, see What is Amazon EventBridge? in the Amazon EventBridge User Guide.

AWS IoT Greengrass は、グループデプロイの状態が変更されるとイベントを発行します。すべての状態遷移または指定した状態への移行に対して実行される EventBridge ルールを作成できます。When a deployment enters a state that initiates a rule, EventBridge invokes the target actions defined in the rule. これにより、通知を送信したり、イベント情報をキャプチャしたり、修正アクションを実行したり、状態の変更に応じて他のイベントを開始したりできます。たとえば、次のユースケースのルールを作成できます。

  • Initiate post-deployment operations, such as downloading assets and notifying personnel.

  • デプロイの成功または失敗時に通知を送信します。

  • デプロイイベントに関するカスタムメトリクスを発行します。

デプロイが、AWS IoT Greengrass、BuildingInProgress、および Success 状態になると、Failure. はイベントを発行します。

注記

Monitoring the status of a bulk deployment operation is not currently supported. ただし、AWS IoT Greengrass は、一括デプロイの一部である個別のグループデプロイの状態変更イベントを発行します。

グループデプロイステータスの変更イベント

The event for a deployment state change uses the following format:

{ "version":"0", "id":" cd4d811e-ab12-322b-8255-EXAMPLEb1bc8", "detail-type":"Greengrass Deployment Status Change", "source":"aws.greengrass", "account":"123456789012", "time":"2018-03-22T00:38:11Z", "region":"us-west-2", "resources":[], "detail":{ "group-id": "284dcd4e-24bc-4c8c-a770-EXAMPLEf03b8", "deployment-id": "4f38f1a7-3dd0-42a1-af48-EXAMPLE09681", "deployment-type": "NewDeployment|Redeployment|ResetDeployment|ForceResetDeployment", "status": "Building|InProgress|Success|Failure" } }

1 つ以上のグループに適用するルールを作成できます。次の 1 つ以上のデプロイタイプとデプロイの状態でルールをフィルタリングできます。

デプロイタイプ
  • NewDeployment. The first deployment of a group version.

  • ReDeployment. A redeployment of a group version.

  • ResetDeployment. Deletes deployment information stored in the AWS Cloud and on the AWS IoT Greengrass コア. 詳細については、「」を参照してください。デプロイのリセット.

  • ForceResetDeployment. Deletes deployment information stored in the AWS Cloud and reports success without waiting for the core to respond. また、コアが接続されている場合、または次に接続するときに、コアに保存されているデプロイ情報も削除します。

デプロイの状態
  • Building. AWS IoT Greengrass は、グループ設定を検証し、デプロイアーティファクトを構築しています。

  • InProgressデプロイは で進行中です。AWS IoT Greengrass コア.

  • Success. The deployment was successful.

  • Failure. The deployment failed.

イベントが重複したり、順序が順不同である可能性があります。イベントの順序を決定するには、 time プロパティを使用します。

注記

AWS IoT Greengrass は resources プロパティを使用しないため、常に空です。

EventBridge ルール作成の前提条件

Before you create an EventBridge rule for AWS IoT Greengrass, do the following:

  • のイベント、ルール、ターゲットに精通しておいてください。EventBridge.

  • EventBridge ルールによって呼び出されるターゲットを作成して設定します。Rules can invoke many types of targets, including:

    • Amazon Simple Notification Service (Amazon SNS)

    • AWS Lambda 関数

    • Amazon Kinesis ビデオストリーム

    • Amazon Simple Queue Service (Amazon SQS) queues

For more information, see What is Amazon EventBridge? and Getting started with Amazon EventBridge in the Amazon EventBridge ユーザーガイド.

デプロイ通知の設定 (コンソール)

グループのデプロイ状態が変更されたときに EventBridge トピックを発行する Amazon SNS ルールを作成するには、次のステップを使用します。これにより、ウェブサーバー、E メールアドレス、その他のトピック受信者がイベントに応答できるようになります。For more information, see Creating a EventBridge rule that triggers on an event from an AWS resource in the Amazon EventBridge ユーザーガイド.

  1. Amazon EventBridge コンソールを開き、[Create rule (ルールの作成).] を選択します。

  2. Under Name and description, enter a name and description for the rule.

  3. Under Define pattern, configure the rule pattern.

    1. イベントパターン.] を選択します。

    2. Pre-defined pattern by service (サービスによる定義済みパターン).] を選択します。

    3. Service provider (サービスプロバイダー)] で、[AWS.] を選択します。

    4. Service name (サービス名)] で [Greengrass.] を選択します。

    5. Event type (イベントタイプ)] で [Greengrass Deployment Status Change (Greengrass デプロイステータスの変更).] を選択します。

      注記

      The AWS API Call via CloudTrail event type is based on AWS IoT Greengrass integration with AWS CloudTrail. You can use this option to create rules initiated by read or write calls to the AWS IoT Greengrass API. 詳細については、「」を参照してください。AWS CloudTrail による AWS IoT Greengrass API コールのログ記録.

    6. Choose the deployment states that initiate a notification.

      • すべての状態変更イベントの通知を受信するには、[Any state (すべての状態).] を選択します。

      • To receive notifications for some state change events only, choose Specific state(s), and then choose the target states.

    7. Choose the deployment types that initiate a notification.

      • すべてのデプロイタイプの通知を受信するには、[Any state (すべての状態).] を選択します。

      • To receive notifications for some deployment types only, choose Specific state(s), and then choose the target deployment types.

  4. Under Select event bus, keep the default event bus options.

  5. Under Select targets, configure your target. この例では Amazon SNS トピックを使用していますが、通知を送信するように他のターゲットタイプを設定できます。

    1. ターゲット] で、[SNS トピック.] を選択します。

    2. For Topic, choose your target topic.

    3. Add target.] を選択します。

  6. Under Tags - optional, define tags for the rule or leave the fields empty.

  7. 作成.] を選択します。

デプロイ通知の設定 (CLI)

グループのデプロイ状態が変更されたときに EventBridge トピックを発行する Amazon SNS ルールを作成するには、次のステップを使用します。これにより、ウェブサーバー、E メールアドレス、その他のトピック受信者がイベントに応答できるようになります。

  1. ルールを作成します。

    • 置換 group-id with the ID of your AWS IoT Greengrass グループ.

    aws events put-rule \ --name TestRule \ --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail\": {\"group-id\": [\"group-id\"]}}"

    パターンで省略されたプロパティは無視されます。

  2. トピックをルールターゲットとして追加します。

    • 置換 topic-arn with the ARN of your Amazon SNS topic.

    aws events put-targets \ --rule TestRule \ --targets "Id"="1","Arn"="topic-arn"
    注記

    Amazon EventBridge にターゲットトピックの呼び出しを許可するには、トピックにリソースベースのポリシーを追加する必要があります。For more information, see Amazon SNS permissions in the Amazon EventBridge ユーザーガイド.

For more information, see Events and event patterns in EventBridge in the Amazon EventBridge ユーザーガイド.

デプロイ通知の設定 (AWS CloudFormation)

AWS CloudFormation テンプレートを使用して、Greengrass グループのデプロイの状態変更に関する通知を送信する EventBridge ルールを作成します。For more information, see Amazon EventBridge resource type reference in the AWS CloudFormation ユーザーガイド.

以下の資料も参照してください。