HTTP - AWS IoT Core

HTTP

HTTPS (http) アクションは、ウェブアプリケーションまたはサービスに MQTT メッセージのデータを送信します。

Requirements

このルールアクションには以下の要件があります。

  • ルールエンジンが HTTPS エンドポイントを使用する前に、それらの HTTPS エンドポイントを確認して有効にする必要があります。詳細については、「HTTP トピックルール送信先の使用」を参照してください。

Parameters

このアクションで AWS IoT ルールを作成するときは、次の情報を指定する必要があります。

url

HTTP POST メソッドを使用してメッセージを送信する HTTPS エンドポイント。ホスト名の代わりに IP アドレスを使用する場合は、IPv4 アドレスである必要があります。IPv6 アドレスはサポートされません。

置換テンプレートをサポート: はい

confirmationUrl

(オプション) 指定した場合、AWS IoT は確認 URL を使用して、一致するトピックルールの送信先を作成します。トピックルールの送信先は、HTTP アクションで使用する前に有効にする必要があります。詳細については、「HTTP トピックルール送信先の使用」を参照してください。置換テンプレートを使用する場合、http アクションを使用する前に手動でトピックルールの送信先を作成する必要があります。confirmationUrlurl のプレフィックスである必要があります。

url との関係および confirmationUrl は、次のように記述されます。

  • url がハードコード化され、confirmationUrl が指定されていない場合、url フィールドは暗黙的に confirmationUrl として扱われます。AWS IoT は、url のトピックルールの送信先を作成します。

  • urlconfirmationUrl がハードコード化されている場合は、urlconfirmationUrl で始まる必要があります。AWS IoT は confirmationUrl のトピックルールの送信先を作成します。

  • url に置換テンプレートが含まれている場合は、confirmationUrl を指定し、urlconfirmationUrl で始まる必要があります。confirmationUrl に置換テンプレートが含まれている場合、http アクションを使用する前に手動でトピックルールの送信先を作成する必要があります。confirmationUrl に置換テンプレートが含まれていない場合、AWS IoT は confirmationUrl のトピックルールの送信先を作成します。

置換テンプレートをサポート: はい

headers

(オプション) エンドポイントへの HTTP リクエストに含めるヘッダーのリスト。各ヘッダーには、以下の情報が必要です。

key

ヘッダーのキー。

置換テンプレートをサポート: いいえ

value

ヘッダーの値

置換テンプレートをサポート: はい

注記

ペイロードが JSON 形式の場合、デフォルトのコンテンツタイプは application/json です。それ以外の場合は、application/octet-stream です。キー content-type (大文字と小文字を区別しない)でヘッダー内の正確なコンテンツタイプを指定することで、上書きできます。

auth

(オプション) url 引数で指定されたエンドポイント URL に接続するためにルールエンジンが使用する認証。現在、サポートされている認証タイプは署名バージョン 4 のみです。詳細については、「HTTP 認証」を参照してください。

置換テンプレートをサポート: いいえ

Examples

以下の JSON 例では、HTTP アクションで AWS IoT ルールを定義します。

{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "http": { "url": "https://www.example.com/subpath", "confirmationUrl": "https://www.example.com", "headers": [ { "key": "static_header_key", "value": "static_header_value" }, { "key": "substitutable_header_key", "value": "${value_from_payload}" } ] } } ] } }

HTTP アクションの再試行ロジック

AWS IoT ルールエンジンは、これらのルールに従って HTTP アクションを再試行します。

  • ルールエンジンは、1 回以上メッセージの送信を試みます。

  • ルールエンジンは、最大で 2 回再試行します。最大試行回数は 3 回です。

  • 次の場合、ルールエンジンは再試行を試行しません。

    • 前回の試行で 16384 バイトを超える応答が提供された場合。

    • ダウンストリームウェブサービスまたはアプリケーションが試行後に TCP 接続を閉じた場合。

    • 再試行を含むリクエストを完了するための合計時間が、リクエストタイムアウト制限を超えた場合。

    • リクエストが 429、500~599 以外の HTTP ステータスコードを返した場合。

注記

再試行には、標準データ転送コストが適用されます。

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