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
を呼び出します。