翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
HTTP
HTTPS (http) アクションは、MQTT メッセージから HTTPS エンドポイントにデータを送信します。HTTPS エンドポイントは、ウェブアプリケーションまたはサービスを指す可能性があります。
要件
このルールアクションには、以下の要件があります。
-
ルールエンジンが HTTPS エンドポイントを使用する前に、それらの HTTPS エンドポイントを確認して有効にする必要があります。詳細については、「HTTP トピックルール送信先の使用」を参照してください。
パラメータ
このアクションで AWS IoTルールを作成するときは、次の情報を指定する必要があります。
url-
HTTP POST メソッドを使用してメッセージを送信する HTTPS エンドポイント。ホスト名の代わりに IP アドレスを使用する場合は、IPv4 アドレスである必要があります。IPv6 アドレスはサポートされません。
置換テンプレートをサポート: はい
confirmationUrl-
(オプション) 指定した場合、確認 URL AWS IoTを使用して一致するトピックルールの送信先を作成します。トピックルールの送信先は、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 承認」を参照してください。置換テンプレートをサポート: いいえ
enableBatching-
(オプション) HTTP アクションメッセージを特定の URL に対する単一のリクエストに処理するかどうか。値は true または false にすることができます。バッチ処理の詳細については、「HTTP アクションメッセージのバッチ処理」を参照してください。
ブール値
置換テンプレートをサポート: いいえ
batchConfig-
(オプション) バッチ処理の設定。有効にしたら、
batchConfigパラメータを指定する必要があります。batchConfigパラメータを指定しない場合、デフォルト値が使用されます。maxBatchOpenMs-
送信メッセージが他のメッセージがバッチを作成するのを待機する最大時間 (ミリ秒単位)。設定が高いほど、バッチ処理された HTTP アクションのレイテンシーが長くなります。
最小値: 5 ミリ秒。最大値: 200 ミリ秒。
デフォルト値: 20 ミリ秒
置換テンプレートをサポート: いいえ
maxBatchSize-
1 回のアクション実行でまとめてバッチ処理されるメッセージの最大数。
置換テンプレートをサポート: いいえ
最小値: 2 メッセージ。最大値: 10 メッセージ
デフォルト値: 10 メッセージ
maxBatchSizeBytes-
メッセージバッチの最大サイズ、バイト単位。
最小値: 100 バイト。最大値: 131,072 バイト
デフォルト値: 5,120 バイト
置換テンプレートをサポート: いいえ
注記
ペイロードが JSON 形式の場合、デフォルトのコンテンツタイプは application/json です。それ以外の場合は、application/octet-stream です。キー content-type (大文字と小文字を区別しない) でヘッダー内の正確なコンテンツタイプを指定することで、上書きできます。
例
次の 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": { "url": "https://www.example.com/subpath", "confirmationUrl": "https://www.example.com", "headers": [ { "key": "Content-Type", "value": "application/json" } ], "enableBatching": true, "batchConfig": { "maxBatchOpenMs": 123, "maxBatchSize": 5, "maxBatchSizeBytes": 131072, } }, "errorAction": { "http": { "url": "https://www.example.com/subpath", "confirmationUrl": "https://www.example.com" // batchConfig is not allowed here } }
HTTP アクションの再試行ロジック
AWS IoTルールエンジンは、次のルールに従って HTTP アクションを再試行します。
-
ルールエンジンは、1 回以上メッセージの送信を試みます。
-
ルールエンジンは、最大で 2 回再試行します。最大試行回数は 3 回です。
-
次の場合、ルールエンジンは再試行を試行しません。
-
前回の試行で 16,384 バイトを超える応答が提供された場合。
-
ダウンストリームウェブサービスまたはアプリケーションが試行後に TCP 接続を閉じた場合。
-
再試行を含むリクエストを完了するための合計時間が、リクエストタイムアウト制限を超えた場合。
-
リクエストが 429、500~599 以外の HTTP ステータスコードを返した場合。
-
注記
再試行には、標準データ転送コスト
関連情報
-
ブログのモノのインターネットAWSで、 からAWS IoT Coreウェブサービスに直接データをルーティング
する