Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
HTTP
Tindakan HTTPS (http) mengirimkan data dari pesan MQTT ke titik akhir HTTPS, yang dapat menunjuk ke aplikasi web atau layanan.
Persyaratan
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.
Parameter
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 alamat IPv4. Alamat IPv6 tidak didukung.
Mendukung template substitusi: 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. Jika Anda menggunakan templat substitusi, Anda harus membuat tujuan tindakan HTTP secara manual sebelum
httptindakan dapat digunakan.confirmationUrlharus menjadi awalan dariurl.Hubungan antara
urldanconfirmationUrldijelaskan sebagai berikut:-
Jika
urldi-hardcode dan tidakconfirmationUrldisediakan, kami secara implisit memperlakukanurlbidang tersebut sebagai.confirmationUrlAWS IoT membuat tujuan aturan topik untukurl. -
Jika
urldanconfirmationUrldi-hardcode,urlharus dimulai denganconfirmationUrl. AWS IoT membuat tujuan aturan topik untukconfirmationUrl. -
Jika
urlberisi template substitusi, Anda harus menentukanconfirmationUrldanurlharus dimulai denganconfirmationUrl. JikaconfirmationUrlberisi templat substitusi, Anda harus membuat tujuan tindakan HTTP secara manual sebelumhttptindakan dapat digunakan. JikaconfirmationUrltidak berisi templat substitusi AWS IoT , buat tujuan aturan topik untukconfirmationUrl.
Mendukung template substitusi: 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: Tidak
value-
Nilai header.
Mendukung template substitusi: Ya
catatan
Jenis konten default adalah application/json ketika payload dalam format JSON. Kalau tidak, itu adalah application/octet -stream. Anda dapat menulisnya 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
urlargumen. Saat ini, Signature Version 4 adalah satu-satunya jenis otentikasi yang didukung. Untuk informasi selengkapnya, lihat O torisasi HTTP.Mendukung template substitusi: Tidak
enableBatching-
(Opsional) Apakah akan memproses pesan tindakan HTTP menjadi permintaan tunggal untuk url tertentu. Nilai bisa benar atau salah. Untuk informasi selengkapnya tentang batching, lihat Batching pesan tindakan HTTP.
Nilai Boolean
Mendukung template substitusi: Tidak
batchConfig-
(Opsional) Pengaturan konfigurasi untuk batching. Setelah diaktifkan,
batchConfigparameter harus ditentukan. JikabatchConfigparameter tidak ditentukan, nilai default akan digunakan.maxBatchOpenMs-
Jumlah waktu maksimum (dalam milidetik) pesan keluar menunggu pesan lain untuk membuat batch. Semakin tinggi setelannya, semakin lama latensi tindakan HTTP batch.
Nilai Minimum: 5 ms. Nilai Maksimum: 200 ms.
Nilai Default: 20 ms
Mendukung template substitusi: Tidak
maxBatchSize-
Jumlah maksimum pesan yang digabungkan bersama dalam satu eksekusi tindakan.
Mendukung template substitusi: Tidak
Nilai Minimum: 2 pesan. Nilai maksimum: 10 pesan
Nilai Default: 10 pesan
maxBatchSizeBytes-
Ukuran maksimum batch pesan, dalam byte.
Nilai Minimum: 100 byte. Nilai maksimum: 131.072 byte
Nilai Default: 5.120 bytes
Mendukung template substitusi: Tidak
batchAcrossTopics-
Apakah mengizinkan batching pesan dari topik MQTT yang berbeda ke dalam satu permintaan HTTP. Secara default, hanya pesan dari topik yang sama yang digabungkan bersama. Aktifkan parameter ini untuk kasus penggunaan routing di mana pesan dari beberapa topik perangkat ditujukan untuk titik akhir HTTP yang sama.
Nilai Default: false
Mendukung template substitusi: Tidak
catatan
Pesan akan selalu digabungkan dalam cakupan akun, nama aturan, URL titik akhir HTTP target, dan grup penagihan yang sama. Pesan yang berbeda dalam salah satu atribut ini tidak pernah digabungkan ke dalam batch yang sama, terlepas dari
batchAcrossTopicssetelannya.catatan
Jenis konten default adalah application/json ketika payload dalam format JSON. Kalau tidak, itu adalah application/octet -stream. Anda dapat menulisnya dengan menentukan jenis konten yang tepat di header dengan tipe konten kunci (case insensitive).
Contoh
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 ulang tindakan HTTP
Mesin AWS IoT aturan mencoba kembali tindakan HTTP sesuai dengan aturan ini:
-
Mesin aturan mencoba mengirim pesan setidaknya sekali.
-
Mesin aturan mencoba kembali 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 waktu tunggu permintaan.
-
Permintaan mengembalikan kode status HTTP selain 429, 500-599.
-
catatan
Biaya transfer data standar
Lihat juga
-
Rute data langsung dari AWS IoT Core ke layanan web Anda
di Internet of Things di AWS blog