

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 tindakan 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 alamat IPv4. Alamat IPv6 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 tindakan 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  
`batchAcrossTopics`  
Apakah mengizinkan pengelompokan pesan dari topik MQTT yang berbeda ke dalam satu permintaan HTTP. Secara default, hanya pesan dari topik yang sama yang dikumpulkan bersama. Aktifkan parameter ini untuk kasus penggunaan perutean di mana pesan dari beberapa topik perangkat ditujukan untuk titik akhir HTTP yang sama.  
Nilai Default: false  
Mendukung [template substitusi](iot-substitution-templates.md): Tidak
Pesan selalu dikumpulkan dalam lingkup akun yang sama, nama aturan, URL titik akhir HTTP target, dan grup penagihan. Pesan yang berbeda dalam salah satu atribut ini tidak pernah digabungkan ke dalam kumpulan yang sama, terlepas dari `batchAcrossTopics` pengaturannya.
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 tindakan 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