

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

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

Tindakan HTTPS (`http`) mengirimkan data dari pesan MQTT ke titik akhir HTTPS, yang dapat menunjuk ke aplikasi atau layanan web.

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

Tindakan aturan ini memiliki persyaratan sebagai berikut:
+ Anda harus mengonfirmasi dan mengaktifkan HTTPS titik akhir sebelum mesin aturan dapat menggunakannya. Untuk informasi selengkapnya, lihat [Tujuan aksi HTTP](http-action-destination.md).

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

Saat Anda membuat AWS IoT aturan dengan tindakan ini, Anda harus menentukan informasi berikut:

`url`  
Titik akhir HTTPS tempat pesan dikirim menggunakan metode HTTP POST. Jika Anda menggunakan alamat IP sebagai pengganti nama host, itu harus berupa IPv4 alamat. IPv6 alamat tidak didukung.  
Mendukung [template substitusi](iot-substitution-templates.md): Ya

`confirmationUrl`  
(Opsional) Jika ditentukan, AWS IoT gunakan URL konfirmasi untuk membuat tujuan aturan topik yang cocok. Anda harus mengaktifkan tujuan tindakan HTTP sebelum menggunakannya dalam tindakan HTTP. Untuk informasi selengkapnya, lihat [Tujuan aksi HTTP](http-action-destination.md). Jika Anda menggunakan templat substitusi, Anda harus membuat tujuan tindakan HTTP secara manual sebelum `http` tindakan dapat digunakan. `confirmationUrl`harus menjadi awalan dari. `url`  
Hubungan antara `url` dan `confirmationUrl` dijelaskan sebagai berikut:  
+ Jika `url` di-hardcode dan tidak `confirmationUrl` disediakan, kami secara implisit memperlakukan bidang tersebut sebagai. `url` `confirmationUrl` AWS IoT membuat tujuan aturan topik untuk`url`.
+ Jika `url` dan `confirmationUrl` di-hardcode, `url` harus dimulai dengan. `confirmationUrl` AWS IoT membuat tujuan aturan topik untuk`confirmationUrl`.
+ Jika `url` berisi template substitusi, Anda harus menentukan `confirmationUrl` dan `url` harus mulai dengan`confirmationUrl`. Jika `confirmationUrl` berisi templat substitusi, Anda harus membuat tujuan tindakan HTTP secara manual sebelum `http` tindakan dapat digunakan. Jika `confirmationUrl` tidak berisi templat substitusi, AWS IoT buat tujuan aturan topik untuk`confirmationUrl`.
Mendukung [template substitusi](iot-substitution-templates.md): Ya

`headers`  
(Opsional) Daftar header untuk disertakan dalam permintaan HTTP ke titik akhir. Setiap header harus berisi informasi berikut:    
`key`  
Kunci header.  
Mendukung [template substitusi](iot-substitution-templates.md): Tidak  
`value`  
Nilai header.  
Mendukung [template substitusi](iot-substitution-templates.md): Ya
Jenis konten default adalah application/json ketika payload dalam format JSON. Jika tidak, itu adalah application/octet-stream. Anda dapat menimpa dengan menentukan jenis konten yang tepat di header dengan tipe konten kunci (case insensitive). 

`auth`  
(Opsional) Otentikasi yang digunakan oleh mesin aturan untuk terhubung ke URL titik akhir yang ditentukan dalam argumen. `url` Saat ini, Signature Version 4 adalah satu-satunya jenis otentikasi yang didukung. Untuk informasi selengkapnya, lihat [Otorisasi HTTP](https://docs.aws.amazon.com/iot/latest/apireference/API_HttpAuthorization.html).  
Mendukung [template substitusi](iot-substitution-templates.md): Tidak

`enableBatching`  
(Opsional) Apakah akan memproses pesan tindakan HTTP menjadi satu permintaan untuk url yang diberikan. Nilai bisa benar atau salah. Untuk informasi selengkapnya tentang pengelompokan, lihat [Mengelompokkan pesan tindakan HTTP](http_batching.md).  
Nilai Boolean  
Mendukung [template substitusi](iot-substitution-templates.md): Tidak

`batchConfig`  
(Opsional) Pengaturan konfigurasi untuk batching. Setelah diaktifkan, `batchConfig` parameter harus ditentukan. Jika `batchConfig` parameter tidak ditentukan, nilai default akan digunakan.    
`maxBatchOpenMs`  
Jumlah waktu maksimum (dalam milidetik) pesan keluar menunggu pesan lain untuk membuat batch. Semakin tinggi pengaturan, semakin lama latensi tindakan HTTP batch.  
Nilai Minimum: 5 ms. Nilai Maksimum: 200 ms.  
Nilai Default: 20 ms  
Mendukung [template substitusi](iot-substitution-templates.md): Tidak  
`maxBatchSize`  
Jumlah maksimum pesan yang dikumpulkan bersama dalam satu eksekusi tindakan.  
Mendukung [template substitusi](iot-substitution-templates.md): Tidak  
Nilai Minimum: 2 pesan. Nilai Maksimum: 10 pesan  
Nilai Default: 10 pesan  
`maxBatchSizeBytes`  
Ukuran maksimum kumpulan pesan, dalam byte.  
Nilai Minimum: 100 byte. Nilai Maksimum: 131.072 byte  
Nilai Default: 5.120 byte  
Mendukung [template substitusi](iot-substitution-templates.md): Tidak
Jenis konten default adalah application/json ketika payload dalam format JSON. Jika tidak, itu adalah application/octet-stream. Anda dapat menimpa dengan menentukan jenis konten yang tepat di header dengan tipe konten kunci (case insensitive). 

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

Contoh JSON berikut mendefinisikan AWS IoT aturan dengan tindakan HTTP.

```
{
    "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
        }
}
```

## Logika coba lagi tindakan HTTP
<a name="https-rule-action-retry-logic"></a>

Mesin AWS IoT aturan mencoba ulang tindakan HTTP sesuai dengan aturan ini:
+ Mesin aturan mencoba mengirim pesan setidaknya sekali.
+ Mesin aturan mencoba ulang paling banyak dua kali. Jumlah percobaan maksimum adalah tiga.
+ Mesin aturan tidak mencoba lagi jika:
  + Percobaan sebelumnya memberikan respons yang lebih besar dari 16.384 byte.
  + Layanan web hilir atau aplikasi menutup koneksi TCP setelah mencoba.
  + Total waktu untuk menyelesaikan permintaan dengan percobaan ulang melebihi batas batas waktu permintaan.
  + Permintaan mengembalikan kode status HTTP selain 429, 500-599.

**catatan**  
[Biaya transfer data standar](https://aws.amazon.com/ec2/pricing/on-demand/) berlaku untuk percobaan ulang.

## Lihat juga
<a name="https-rule-action-see-also"></a>
+ [Menempatkan pesan tindakan HTTP dalam batch](http_batching.md)
+ [Tujuan aksi HTTP](http-action-destination.md)
+ [Rutekan data langsung dari AWS IoT Core ke layanan web Anda](https://aws.amazon.com/blogs/iot/route-data-directly-from-iot-core-to-your-web-services/) di *Internet of Things di AWS* blog