HTTP トピックルール送信先の使用 - AWS IoT Core

HTTP トピックルール送信先の使用

HTTP トピックルールの送信先は、ルールエンジンがトピックルールからデータをルーティングできる ウェブサービスです。 AWS IoT Core リソースは、AWS IoTのウェブサービスを説明します。トピックルールの送信先のリソースは、異なるルールで共有できます。

AWS IoT Core が別のウェブサービスにデータを送信する前に、それは、サービスのエンドポイントにアクセスできることを確認する必要があります。

HTTP トピックルールの送信先の概要

HTTP トピックルールの送信先とは、確認 URL と 1 つ、または複数のデータ収集 URL をサポートする ウェブサービスを指します。HTTP トピックルールの送信先リソースには、Web サービスの確認 URL が含まれています。HTTP トピックルールアクションを設定するときは、データを受信するエンドポイントの実際のURL と、ウェブサービスの確認 URL を指定します。送信先が確認されると、トピックルールは、SQL ステートメントの結果を HTTPS エンドポイントに送信します (確認 URL ではない)。

HTTP トピックルール送信先の状態は、以下のいずれかになります:

有効

送信先は確認済みで、ルールアクションによって使用できます。送信先をルールで使用するには、送信先は、ENABLEDの状態である必要があります。有効にできるのは、「DISABLED」ステータスの送信先のみです。

無効

送信先は確認されましたが、ルールアクションでは使用できません。これは、確認プロセスを再度実行することなく、エンドポイントへのトラフィックを一時的に防止する場合に便利です。無効にできるのは、有効ステータスの送信先のみです。

IN_PROGRESS

送信先の確認は進行中です。

ERROR

送信先の確認がタイムアウトしました。

HTTP トピックルール送信先が確認されて有効化されると、アカウントのどのルールでも使用できるようになります。

次のセクションでは、HTTP トピックルールの送信先に関する一般的なアクションについて説明します。

HTTP トピックルールの送信先の作成と確認

HTTP トピックルール送信先は、CreateTopicRuleDestination オペレーションを呼び出す、または AWS IoT コンソールを使用することによって作成します。

送信先を作成した後、AWS IoTは、確認リクエストを確認 URL に送信します。確認リクエストの形式は次のとおりです。

HTTP POST {confirmationUrl}/?confirmationToken={confirmationToken} Headers: x-amz-rules-engine-message-type: DestinationConfirmation x-amz-rules-engine-destination-arn:"arn:aws:iot:us-east-1:123456789012:ruledestination/http/7a280e37-b9c6-47a2-a751-0703693f46e4" Content-Type: application/json Body: { "arn":"arn:aws:iot:us-east-1:123456789012:ruledestination/http/7a280e37-b9c6-47a2-a751-0703693f46e4", "confirmationToken": "AYADeMXLrPrNY2wqJAKsFNn-…NBJndA", "enableUrl": "https://iot.us-east-1.amazonaws.com/confirmdestination/AYADeMXLrPrNY2wqJAKsFNn-…NBJndA", "messageType": "DestinationConfirmation" }

確認リクエストの内容には、以下の情報が含まれます。

arn

確認するトピックルール送信先の Amazon リソースネーム (ARN)。

confirmationToken

AWS IoT Core によって送信された確認トークン。この例のトークンは切り捨てられます。トークンは長くなります。 AWS IoT Core で目的地を確認するには、このトークンが必要です。

enableUrl

トピックルールの送信先を確認するために参照する URL。

messageType

メッセージのタイプ。

エンドポイントの確認プロセスを完了するには、確認 URL が確認リクエストを受信した後、次のいずれかの操作を行う必要があります。

  • 確認リクエストでenableUrl を呼び出してから、UpdateTopicRuleDestination を呼び出してトピックルールのステータスを ENABLED に設定します。

  • ConfirmTopicRuleDestination オペレーションを呼び出して、確認リクエストからの confirmationToken を渡します。

  • confirmationToken をコピーし、AWS IoT コンソールで送信先の確認ダイアログに貼り付けます。

新しい確認リクエストの送信

送信先の新しい確認メッセージをトリガーするには、UpdateTopicRuleDestination を呼び出 して、トピックルールの送信先のステータスを IN_PROGRESS に設定します。

新しい確認リクエストを送信した後、確認プロセスを繰り返す必要があります

トピックルールの送信先の無効化

送信先を無効にするには、UpdateTopicRuleDestinationを呼び出して、トピックルールの送信先のステータスを DISABLED に設定します。無効状態のトピックルールは、新しい確認要求を送信しなくても、再度有効にすることができます。

トピックルールの送信先を削除するには、DeleteTopicRuleDestination を呼び出します。