HTTP - AWS IoT Core

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

HTTP

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

要件

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

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

パラメータ

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

url

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

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

confirmationUrl

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

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

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

  • urlconfirmationUrlがハードコードされている場合、 は で始まるurl必要がありますconfirmationUrl。 は のトピックルールの送信先 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「認証」を参照してください。

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

次の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 回です。

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

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

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

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

    • リクエストは、429、500~599 以外のHTTPステータスコードを返します。

注記

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

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