

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

# HTTP
<a name="https-rule-action"></a>

HTTPS (`http`) アクションは、MQTT メッセージからウェブアプリケーションまたはサービスを指すことができる HTTPS エンドポイントにデータを送信します。

## 要件
<a name="https-rule-action-requirements"></a>

このルールアクションには、以下の要件があります。
+ ルールエンジンが HTTPS エンドポイントを使用する前に、それらの HTTPS エンドポイントを確認して有効にする必要があります。詳細については、「[HTTP アクションの送信先](http-action-destination.md)」を参照してください。

## パラメータ
<a name="https-rule-action-parameters"></a>

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

`url`  
HTTP POST メソッドを使用してメッセージを送信する HTTPS エンドポイント。ホスト名の代わりに IP アドレスを使用する場合は、IPv4 アドレスである必要があります。IPv6 アドレスはサポートされません。  
[置換テンプレート](iot-substitution-templates.md)をサポート: はい

`confirmationUrl`  
(オプション) 指定した場合、確認 URL AWS IoT を使用して一致するトピックルールの送信先を作成します。HTTP アクションで使用する前に、HTTP アクションの送信先を有効にする必要があります。詳細については、「[HTTP アクションの送信先](http-action-destination.md)」を参照してください。置換テンプレートを使用する場合は、アクションを使用する前に 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 `http`アクションの送信先を手動で作成する必要があります。`confirmationUrl` に置換テンプレートが含まれていない場合、 は のトピックルールの送信先 AWS IoT を作成します`confirmationUrl`。
[置換テンプレート](iot-substitution-templates.md)をサポート: はい

`headers`  
(オプション) エンドポイントへの HTTP リクエストに含めるヘッダーのリスト。各ヘッダーには、以下の情報が必要です。    
`key`  
ヘッダーのキー。  
[置換テンプレート](iot-substitution-templates.md)をサポート: いいえ  
`value`  
ヘッダーの値  
[置換テンプレート](iot-substitution-templates.md)をサポート: はい
ペイロードが JSON 形式の場合、デフォルトのコンテンツタイプは application/json です。それ以外の場合は、application/octet-stream です。キー content-type (大文字と小文字を区別しない) でヘッダー内の正確なコンテンツタイプを指定することで、上書きできます。

`auth`  
(オプション) `url` 引数で指定されたエンドポイント URL に接続するためにルールエンジンが使用する認証。現在、サポートされている認証タイプは署名バージョン 4 のみです。認可の詳細については、「[HTTP 承認](https://docs.aws.amazon.com/iot/latest/apireference/API_HttpAuthorization.html)」を参照してください。  
[置換テンプレート](iot-substitution-templates.md)をサポート: いいえ

`enableBatching`  
(オプション) HTTP アクションメッセージを特定の URL に対する 1 つのリクエストに処理するかどうか。値は true または false にすることができます。バッチ処理の詳細については、[「HTTP アクションメッセージのバッチ処理](http_batching.md)」を参照してください。  
ブール値  
[置換テンプレート](iot-substitution-templates.md)をサポート: いいえ

`batchConfig`  
(オプション) バッチ処理の設定。有効にしたら、`batchConfig`パラメータを指定する必要があります。`batchConfig` パラメータを指定しない場合、デフォルト値が使用されます。    
`maxBatchOpenMs`  
送信メッセージが他のメッセージがバッチを作成するのを待機する最大時間 (ミリ秒単位）。設定が高いほど、バッチ処理された HTTP アクションのレイテンシーが長くなります。  
最小値: 5 ミリ秒。最大値: 200 ミリ秒。  
デフォルト値: 20 ミリ秒  
[置換テンプレート](iot-substitution-templates.md)をサポート: いいえ  
`maxBatchSize`  
1 回のアクション実行でまとめてバッチ処理されるメッセージの最大数。  
[置換テンプレート](iot-substitution-templates.md)をサポート: いいえ  
最小値: 2 メッセージ。最大値: 10 メッセージ  
デフォルト値: 10 メッセージ  
`maxBatchSizeBytes`  
メッセージバッチの最大サイズ、バイト単位。  
最小値: 100 バイト。最大値: 131,072 バイト  
デフォルト値: 5,120 バイト  
[置換テンプレート](iot-substitution-templates.md)をサポート: いいえ
ペイロードが JSON 形式の場合、デフォルトのコンテンツタイプは application/json です。それ以外の場合は、application/octet-stream です。キー content-type (大文字と小文字を区別しない) でヘッダー内の正確なコンテンツタイプを指定することで、上書きできます。

## 例
<a name="https-rule-action-examples"></a>

次の 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 アクションの再試行ロジック
<a name="https-rule-action-retry-logic"></a>

 AWS IoT ルールエンジンは、次のルールに従って HTTP アクションを再試行します。
+ ルールエンジンは、1 回以上メッセージの送信を試みます。
+ ルールエンジンは、最大で 2 回再試行します。最大試行回数は 3 回です。
+ 次の場合、ルールエンジンは再試行を試行しません。
  + 前回の試行で 16,384 バイトを超える応答が提供された場合。
  + ダウンストリームウェブサービスまたはアプリケーションが試行後に TCP 接続を閉じた場合。
  + 再試行を含むリクエストを完了するための合計時間が、リクエストタイムアウト制限を超えた場合。
  + リクエストが 429、500～599 以外の HTTP ステータスコードを返した場合。

**注記**  
再試行には、[標準データ転送コスト](https://aws.amazon.com/ec2/pricing/on-demand/)が適用されます。

## 関連情報
<a name="https-rule-action-see-also"></a>
+ [HTTP アクションメッセージのバッチ処理](http_batching.md)
+ [HTTP アクションの送信先](http-action-destination.md)
+ ブログの*モノのインターネット AWS*で、 [からウェブサービス AWS IoT Core にデータを直接ルーティング](https://aws.amazon.com/blogs/iot/route-data-directly-from-iot-core-to-your-web-services/)する