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 perangkat yang Layanan AWS didukung olehAWS IoT tindakan aturan, tanpa menimbulkan biaya pengiriman pesan. Basic Ingest mengoptimalkan aliran data dengan menghapus broker pesan terbitkan/berlangganan dari jalur konsumsi.

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 mana rule_name adalah nama AWS IoT aturan yang ingin Anda panggil.

Anda dapat menggunakan aturan yang ada dengan Basic Ingest dengan menambahkan awalan 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 mengirimkan pesan dengan topik. $aws/rules/BuildingManager/Buildings/Building5/Floor2/Room201/Lights

Catatan:

  • Perangkat dan aturan Anda tidak dapat berlangganan topik yang dicadangkan Basic Ingest. Untuk informasi selengkapnya, lihat Topik yang dipesan.

  • Jika Anda memerlukan broker terbitkan/berlangganan 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 tentang 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. $aws/rules/* Atau, Anda dapat menentukan izin untuk aturan individu dengan $aws/rules/rule_name/* dalam 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 fungsi tersebut. topik (Desimal)

  • Jika Anda mendefinisikan aturan yang dipanggil hanya dengan Basic Ingest, FROM klausa adalah opsional di sql bidang definisi. rule Ini 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 dari topik Ingest Dasar ($aws/rules/rule_name) tidak dihitung terhadap batas panjang 8 segmen atau menuju batas karakter 256 total untuk suatu topik. Jika tidak, pembatasan yang sama berlaku seperti yang didokumentasikan dalam AWS IoT Batas.

  • Jika pesan diterima dengan topik Ingest Dasar yang menentukan aturan tidak aktif atau aturan yang tidak ada, log kesalahan dibuat di CloudWatch log Amazon untuk membantu Anda melakukan debug. 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 tentang 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).