HTTP
HTTPS (http
) アクションは、ウェブアプリケーションまたはサービスに MQTT メッセージのデータを送信します。
要件
このルールアクションには、以下の要件があります。
-
ルールエンジンが HTTPS エンドポイントを使用する前に、それらの HTTPS エンドポイントを確認して有効にする必要があります。詳細については、「HTTP トピックルール送信先の使用」を参照してください。
パラメータ
このアクションで AWS IoT ルールを作成するときは、次の情報を指定する必要があります。
url
-
HTTP POST メソッドを使用してメッセージを送信する HTTPS エンドポイント。ホスト名の代わりに IP アドレスを使用する場合は、IPv4 アドレスである必要があります。IPv6 アドレスはサポートされません。
置換テンプレートをサポート: はい
confirmationUrl
-
(オプション) 指定した場合、AWS IoT は確認 URL を使用して、一致するトピックルールの送信先を作成します。トピックルールの送信先は、HTTPS アクションで使用する前に有効にする必要があります。詳細については、「HTTP トピックルール送信先の使用」を参照してください。置換テンプレートを使用する場合、
http
アクションを使用する前に手動でトピックルールの送信先を作成する必要があります。confirmationUrl
はurl
のプレフィックスである必要があります。url
との関係およびconfirmationUrl
は、次のように記述されます。-
url
がハードコード化され、confirmationUrl
が指定されていない場合、url
フィールドは暗黙的にconfirmationUrl
として扱われます。AWS IoT は、url
のトピックルールの送信先を作成します。 -
url
とconfirmationUrl
がハードコード化されている場合は、url
はconfirmationUrl
で始まる必要があります。AWS IoT はconfirmationUrl
のトピックルールの送信先を作成します。 -
url
に置換テンプレートが含まれている場合は、confirmationUrl
を指定し、url
はconfirmationUrl
で始まる必要があります。confirmationUrl
に置換テンプレートが含まれている場合、http
アクションを使用する前に手動でトピックルールの送信先を作成する必要があります。confirmationUrl
に置換テンプレートが含まれていない場合、AWS IoT はconfirmationUrl
のトピックルールの送信先を作成します。
置換テンプレートをサポート: はい
-
headers
-
(オプション) エンドポイントへの HTTP リクエストに含めるヘッダーのリスト。各ヘッダーには、以下の情報が必要です。
注記
ペイロードが JSON 形式の場合、デフォルトのコンテンツタイプは application/json です。それ以外の場合は、application/octet-stream です。キー content-type (大文字と小文字を区別しない) でヘッダー内の正確なコンテンツタイプを指定することで、上書きできます。
auth
-
(オプション)
url
引数で指定されたエンドポイント URL に接続するためにルールエンジンが使用する認証。現在、サポートされている認証タイプは署名バージョン 4 のみです。認可の詳細については、「HTTP 承認」を参照してください。置換テンプレートをサポート: いいえ
例
以下の JSON 例では、HTTPS アクションを持つ 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 ルールエンジンは、次のルールに従って HTTPS アクションを再試行します:
-
ルールエンジンは、1 回以上メッセージの送信を試みます。
-
ルールエンジンは、最大で 2 回再試行します。最大試行回数は 3 回です。
-
次の場合、ルールエンジンは再試行を試行しません。
-
前回の試行で 16,384 バイトを超える応答が提供された場合。
-
ダウンストリームウェブサービスまたはアプリケーションが試行後に TCP 接続を閉じた場合。
-
再試行を含むリクエストを完了するための合計時間が、リクエストタイムアウト制限を超えた場合。
-
リクエストが 429、500~599 以外の HTTP ステータスコードを返した場合。
-
注記
再試行には、標準データ転送コスト
以下の資料も参照してください。
-
Internet of Things on AWS ブログの Route data directly from AWS IoT Core to your web services