View a markdown version of this page

Mengurangi biaya pengiriman pesan dengan Basic Ingest - AWS IoT Core

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

Mengurangi biaya pengiriman pesan dengan Basic Ingest

Anda dapat menggunakan Basic Ingest, untuk mengirim data perangkat dengan aman ke yang Layanan AWS didukung olehAWS IoT tindakan aturan, tanpa menimbulkan biaya pengiriman pesan. Basic Ingest mengoptimalkan aliran data dengan menghapus broker publish/subscribe pesan dari jalur penyerapan.

Basic Ingest dapat mengirim pesan dari perangkat atau aplikasi Anda. Pesan memiliki nama topik yang dimulai dengan $aws/rules/rule_name untuk tiga level pertama mereka, di rule_name mana nama AWS IoT aturan yang ingin Anda panggil.

Anda dapat menggunakan aturan yang ada dengan Basic Ingest dengan menambahkan prefiks Basic Ingest ($aws/rules/rule_name) ke topik pesan yang akan Anda gunakan untuk memanggil aturan. Misalnya, jika Anda memiliki aturan bernama BuildingManager yang dipanggil oleh pesan dengan topik seperti Buildings/Building5/Floor2/Room201/Lights ("sql": "SELECT * FROM 'Buildings/#'"), Anda dapat memanggil aturan yang sama dengan Basic Ingest dengan mengirim pesan dengan topik. $aws/rules/BuildingManager/Buildings/Building5/Floor2/Room201/Lights

catatan
  • Perangkat dan aturan Anda tidak dapat berlangganan topik yang dicadangkan Basic Ingest. Misalnya, AWS IoT Device Defender metrik met num-messages-received rik tidak dipancarkan karena tidak mendukung berlangganan topik. Untuk informasi selengkapnya, lihat Topik cadangan.

  • Jika Anda memerlukan publish/subscribe broker untuk mendistribusikan pesan ke beberapa pelanggan (misalnya, untuk mengirimkan pesan ke perangkat lain dan mesin aturan), Anda harus terus menggunakan broker AWS IoT pesan untuk menangani distribusi pesan. Namun, pastikan Anda mempublikasikan pesan Anda pada topik selain topik Basic Ingest.

Menggunakan Basic Ingest

Sebelum Anda menggunakan Basic Ingest, verifikasi bahwa perangkat atau aplikasi Anda menggunakan kebijakan yang memiliki izin publikasi aktif. $aws/rules/* Atau, Anda dapat menentukan izin untuk aturan individual dengan $aws/rules/rule_name/* kebijakan. Jika tidak, perangkat dan aplikasi Anda dapat terus menggunakan koneksi yang ada AWS IoT Core.

Ketika pesan mencapai mesin aturan, tidak ada perbedaan dalam implementasi atau penanganan kesalahan antara aturan yang dipanggil dari Basic Ingest dan yang dipanggil melalui langganan broker pesan.

Anda dapat membuat aturan untuk digunakan dengan Basic Ingest. Ingatlah hal berikut:

  • Awalan awal topik Basic Ingest ($aws/rules/rule_name) tidak tersedia untuk topik (Desimal) fungsi.

  • Jika Anda menentukan aturan yang dipanggil hanya dengan Basic Ingest, FROM klausa tersebut bersifat opsional di sql bidang definisi. rule Masih diperlukan jika aturan juga dipanggil oleh pesan lain yang harus dikirim melalui broker pesan (misalnya, karena pesan lain tersebut harus didistribusikan ke beberapa pelanggan). Untuk informasi selengkapnya, lihat AWS IoT Referensi SQL.

  • Tiga level pertama topik Basic Ingest ($aws/rules/rule_name) tidak dihitung terhadap batas panjang 8 segmen atau batas karakter total 256 untuk suatu topik. Jika tidak, batasan yang sama berlaku seperti yang didokumentasikan dalam AWS IoT Batas.

  • Jika pesan diterima dengan topik Basic Ingest yang menentukan aturan tidak aktif atau aturan yang tidak ada, log kesalahan dibuat di CloudWatch log Amazon untuk membantu Anda melakukan debugging. Untuk informasi selengkapnya, lihat Aturan entri log mesin. RuleNotFoundMetrik ditunjukkan dan Anda dapat membuat alarm pada metrik ini. Untuk informasi selengkapnya, lihat Metrik Aturan diMetrik aturan.

  • Anda masih dapat mempublikasikan dengan QoS 1 pada topik Basic Ingest. Anda menerima PUBACK setelah pesan berhasil dikirim ke mesin aturan. Menerima PUBACK tidak berarti bahwa tindakan aturan Anda berhasil diselesaikan. Anda dapat mengonfigurasi tindakan kesalahan untuk menangani kesalahan saat tindakan dijalankan. Lihat informasi yang lebih lengkap di Penanganan kesalahan (tindakan kesalahan).