Bagikan melalui


Mengirim, menerima, dan mengumpulkan pesan proses batch di Azure Logic Apps

Berlaku pada: Azure Logic Apps (Konsumsi)

Untuk mengirim dan memproses pesan secara bersama-sama dengan cara tertentu sebagai grup, Anda dapat membuat solusi batching. Solusi ini mengumpulkan pesan ke dalam batch dan menunggu sampai kriteria yang Anda tentukan terpenuhi sebelum merilis dan memproses pesan dalam batch. Batching dapat mengurangi seberapa sering aplikasi logika Anda memproses pesan.

Panduan cara ini menunjukkan cara membuat solusi batching dengan membuat dua aplikasi logika dalam langganan Azure yang sama, wilayah Azure, dan dalam urutan ini:

  1. Aplikasi logika "penerima batch", yang menerima dan mengumpulkan pesan ke dalam batch hingga kriteria yang Anda tentukan terpenuhi untuk merilis dan memproses pesan tersebut. Pastikan Anda terlebih dahulu membuat penerima batch ini sehingga Anda nantinya dapat memilih tujuan batch ketika Anda membuat pengirim batch.

  2. Satu atau beberapa aplikasi logika "pengirim batch", yang mengirim pesan ke penerima batch yang dibuat sebelumnya.

    Pengirim batch dapat menyebutkan kunci unik yang mempartisi atau membagi batch target menjadi subset logis berdasarkan kunci tersebut. Misalnya, nomor pelanggan merupakan kunci unik. Dengan begitu, aplikasi penerima dapat mengumpulkan semua item dengan kunci yang sama dan memprosesnya sekaligus.

Penerima serta pengirim batch Anda perlu berbagi langganan Azure dan wilayah Azure yang sama. Jika tidak, Anda tidak dapat memilih penerima batch saat membuat pengirim batch karena tidak terlihat satu sama lain.

Prasyarat

Batasan

  • Anda hanya dapat memeriksa konten dalam batch setelah rilis dengan membandingkan konten yang dirilis dengan sumbernya.

  • Anda dapat merilis batch lebih awal hanya dengan mengubah kriteria rilis di penerima batch, yang dijelaskan dalam panduan ini, sementara pemicu masih memiliki batch. Namun, pemicu menggunakan kriteria rilis yang diperbarui untuk setiap pesan yang tidak dikirim.

Membuat penerima batch

Sebelum Anda dapat mengirim pesan ke batch, batch tersebut harus terlebih dahulu ada sebagai tujuan tempat Anda mengirim pesan tersebut. Jadi pertama-tama, Anda harus membuat aplikasi logika "penerima batch", yang dimulai dengan Pemicu batch. Dengan demikian, ketika Anda membuat aplikasi logika "pengirim batch", Anda dapat memilih aplikasi logika penerima batch. Penerima batch terus mengumpulkan pesan hingga kriteria yang Anda tentukan terpenuhi untuk merilis dan memproses pesan tersebut. Meskipun penerima batch tidak perlu tahu info apa pun tentang pengirim batch, pengirim batch harus mengetahui tujuan tempat mereka mengirim pesan.

  1. Di portal Azure atau Visual Studio, buat aplikasi logika dengan nama ini: BatchReceiver

  2. Di perancang alur kerja, tambahkan pemicu Batch , yang memulai alur kerja aplikasi logika Anda. Dalam kotak pencarian, masukkan batch, dan pilih pemicu ini: Pesan batch

    Menambahkan pemicu

  3. Atur properti ini untuk penerima batch:

    Properti Deskripsi
    Mode Batch - Sebaris: Untuk menentukan kriteria rilis di dalam pemicu batch
    - Akun Integrasi: Untuk mendefinisikan beberapa konfigurasi kriteria rilis melalui akun integrasi. Dengan akun integrasi, Anda dapat mempertahankan semua konfigurasi ini di satu tempat, bukan di aplikasi logika terpisah.
    Nama Batch Nama untuk batch Anda, yaitu "TestBatch" dalam contoh ini, dan hanya berlaku untuk mode batch Sebaris
    Kriteria Rilis Hanya berlaku untuk mode batch Sebaris dan memilih kriteria yang akan dipenuhi sebelum memproses setiap batch:

    - Berdasarkan jumlah pesan: Merilis batch berdasarkan jumlah pesan yang dikumpulkan oleh batch.
    - Berdasarkan ukuran: Merilis batch berdasarkan ukuran total dalam byte untuk semua pesan yang dikumpulkan oleh batch tersebut.
    - Jadwal: Merilis batch berdasarkan jadwal pengulangan, yang menentukan interval dan frekuensi. Dalam opsi lanjutan, Anda juga dapat memilih zona waktu dan menyediakan tanggal dan waktu mulai.
    - Pilih semua: Menggunakan semua kriteria yang ditentukan.

    Jumlah Pesan Jumlah pesan yang akan dikumpulkan dalam batch, misalnya, 10 pesan. Batas batch adalah 8.000 pesan.
    Ukuran Batch Ukuran total dalam byte untuk dikumpulkan dalam batch, misalnya, 10 MB. Batas ukuran batch adalah 80 MB.
    Jadwal Interval dan frekuensi antara rilis batch, misalnya, 10 menit. Pengulangan minimum adalah 60 detik atau 1 menit. Menit pecahan secara efektif dibulatkan hingga 1 menit. Untuk menentukan zona waktu atau tanggal dan waktu mulai, buka daftar Tambahkan parameter baru, dan pilih properti yang sesuai.

    Catatan

    Jika Anda mengubah kriteria rilis saat pemicu masih memiliki pesan batch tetapi tidak terkirim, pemicunya menggunakan kriteria rilis yang diperbarui untuk menangani pesan yang tidak terkirim.

    Contoh ini menampilkan semua kriteria, tetapi untuk pengujian Anda sendiri, cukup coba satu kriteria:

    Memberikan detail pemicu Batch

  4. Sekarang, tambahkan satu atau beberapa tindakan yang memproses setiap batch.

    Untuk contoh ini, tambahkan tindakan yang mengirim email saat pemicu batch diaktifkan. Pemicu berjalan dan mengirim email ketika batch memiliki 10 pesan, mencapai 10 MB, atau setelah 10 menit berlalu.

    1. Di bawah pemicu batch, pilih Langkah baru.

    2. Di kotak pencarian, masukkan send email sebagai filter Anda. Berdasarkan penyedia email Anda, pilih konektor email.

      Misalnya, jika Anda memiliki akun kantor atau sekolah, seperti @fabrikam.com atau @fabrikam.onmicrosoft.com, pilih konektor Microsoft 365 Outlook. Jika Anda memiliki akun pribadi, seperti @outlook.com atau @hotmail.com, pilih konektor Outlook.com. Contoh ini menggunakan konektor Microsoft 365 Outlook.

    3. Pilih tindakan "kirim email" untuk penyedia Anda, misalnya:

      Pilih tindakan

  5. Jika diminta, masuk ke akun email Anda.

  6. Atur properti untuk tindakan yang Anda tambahkan.

    • Dalam kotak Kepada, masukkan alamat email penerima. Untuk tujuan pengujian, Anda dapat menggunakan alamat email Anda sendiri.

    • Dalam kotak Subjek, saat daftar konten dinamis muncul, pilih bidang Nama Partisi.

      Dari daftar konten dinamis, pilih

      Kemudian, di pengirim batch, Anda dapat menentukan kunci partisi unik yang membagi batch target menjadi subset logis tempat Anda dapat mengirim pesan. Setiap set memiliki nomor unik yang dihasilkan oleh aplikasi logika pengirim batch. Kemampuan ini memungkinkan Anda menggunakan satu batch dengan beberapa subset dan menentukan setiap subset dengan nama yang Anda berikan.

      Penting

      Partisi memiliki batas 5.000 pesan atau 80 MB. Jika salah satu kondisi terpenuhi, Logic Apps dapat merilis batch, meskipun kondisi rilis yang ditentukan tidak terpenuhi.

    • Dalam kotak Isi, saat daftar konten dinamis muncul, pilih bidang Id Pesan.

      Perancang alur kerja secara otomatis menambahkan perulangan Untuk setiap di sekitar tindakan kirim email karena tindakan tersebut memperlakukan output dari tindakan sebelumnya sebagai koleksi, bukan batch.

      Untuk

  7. Menyimpan aplikasi logika Anda. Anda sekarang telah membuat penerima batch.

    Menyimpan aplikasi logika Anda

    Penting

    Jika Anda menggunakan Visual Studio, sebelum melanjutkan ke bagian berikutnya, pastikan Anda terlebih dahulu menyebarkan aplikasi logika penerima batch ke Azure. Jika tidak, Anda tidak dapat memilih penerima batch saat membuat pengirim batch.

Membuat pengirim batch

Sekarang, buat satu atau beberapa aplikasi logika pengirim batch yang mengirim pesan ke aplikasi logika penerima batch. Di setiap pengirim batch, Anda menentukan penerima batch dan nama batch, konten pesan, dan pengaturan lainnya. Anda dapat secara opsional menyediakan kunci partisi unik untuk membagi batch menjadi subset logis untuk mengumpulkan pesan dengan kunci tersebut.

  • Pastikan Anda sebelumnya membuat dan menggunakan penerima batch, sehingga saat membuat pengirim batch, Anda dapat memilih penerima batch yang ada sebagai batch tujuan. Meskipun penerima batch tidak perlu mengetahui info apa pun tentang pengirim batch, pengirim batch mengetahui alamat pesan dikirim.

  • Pastikan penerima batch dan pengirim batch Anda memiliki wilayah Azure dan langganan Azure yang sama. Jika tidak, Anda tidak dapat memilih penerima batch saat membuat pengirim batch karena tidak terlihat satu sama lain.

  1. Buat aplikasi logika lain dengan nama ini: BatchSender

    1. Di kotak pencarian, masukkan recurrence sebagai filter Anda. Dari daftar pemicu, pilih pemicu ini: Pengulangan

      Tambah pemicu Pengulangan

    2. Atur interval dan frekuensi untuk menjalankan aplikasi logika pengirim setiap menit.

      Mengatur frekuensi dan interval untuk pemicu Pengulangan

  2. Menambahkan tindakan baru untuk mengirim pesan ke batch.

    1. Di bawah pemicu Pengulangan, pilih Langkah baru.

    2. Dalam kotak pencarian, masukkan batch sebagai filter Anda, dan pilih tindakan ini: Pilih alur kerja Logic Apps dengan pemicu batch

      Pilih

      Daftar akan muncul dan hanya menampilkan aplikasi logika yang memiliki pemicu batch dan ada di wilayah Azure dan langganan Azure yang sama dengan aplikasi logika pengirim batch Anda.

    3. Dari daftar aplikasi logika, pilih aplikasi logika penerima batch yang sebelumnya Anda buat.

      Pilih aplikasi logika penerima batch Anda

      Penting

      Jika Anda menggunakan Visual Studio, dan Anda tidak melihat penerima batch untuk dipilih, periksa apakah Anda sebelumnya membuat dan menggunakan penerima batch ke Azure. Jika belum melakukannya, pelajari cara menyebarkan aplikasi logika penerima batch ke Azure.

    4. Dari daftar tindakan, pilih tindakan ini: Batch_messages - <nama-aplikasi-logika-Anda>

      Pilih tindakan ini:

  3. Atur properti pengirim batch:

    Properti Deskripsi
    Nama Batch Nama batch yang ditentukan oleh aplikasi logika penerima, yaitu TestBatch yang ada dalam contoh ini

    Penting: Nama batch akan divalidasi pada runtime bahasa umum dan harus sesuai dengan nama yang ditentukan oleh aplikasi logika penerima. Mengubah nama batch menyebabkan pengirim batch gagal.

    Konten Pesan Konten untuk pesan yang ingin Anda kirim

    Catatan

    Nilai properti Nama Pemicu dan Alur Kerja secara otomatis diisi dari aplikasi logika yang Anda pilih.

    Untuk contoh ini, tambahkan ekspresi ini, yang akan menyisipkan tanggal dan waktu saat ini ke dalam konten pesan yang Anda kirim ke batch:

    1. Klik di dalam kotak Konten Pesan.

    2. Saat daftar konten dinamis muncul, pilih Ekspresi.

    3. Masukkan ekspresi utcnow(), dan pilih OK.

      Di

  4. Sekarang siapkan partisi untuk batch. Dalam tindakan BatchReceiver, buka daftar Tambahkan parameter baru, dan pilih properti ini:

    Properti Deskripsi
    Nama Partisi Kunci partisi unik opsional yang digunakan untuk membagi batch target menjadi subset logika dan mengumpulkan pesan berdasarkan kunci tersebut
    Id Pesan Pengidentifikasi pesan opsional yang merupakan pengidentifikasi unik global (GUID) yang dihasilkan saat kosong

    Untuk contoh ini, dalam kotak Nama Partisi, tambahkan ekspresi yang menghasilkan angka acak antara satu dan lima. Biarkan kotak Id Pesan kosong.

    1. Klik di dalam kotak Nama Partisi sehingga daftar konten dinamis muncul.

    2. Di daftar konten dinamis yang muncul, pilih Ekspresi.

    3. Masukkan ekspresi rand(1,6), lalu pilih OK.

      Menyiapkan partisi untuk batch target Anda

      Fungsi rand ini menghasilkan angka antara satu dan lima. Jadi Anda membagi batch ini menjadi lima partisi bernomor, yang ditetapkan ekspresi ini secara dinamis.

  5. Menyimpan aplikasi logika Anda. Aplikasi logika pengirim Anda sekarang terlihat mirip dengan contoh ini:

    Simpan aplikasi logika pengirim Anda

Menguji aplikasi logika Anda

Untuk menguji solusi batching Anda, biarkan aplikasi logika Anda berjalan selama beberapa menit. Segera, Anda mulai mendapatkan email dalam grup berisi lima, semuanya dengan kunci partisi yang sama.

Aplikasi logika pengirim batch Anda berfungsi setiap menit dan menghasilkan angka acak antara satu dan lima. Pengirim batch menggunakan angka acak ini sebagai kunci partisi bagi batch target tempat Anda mengirim pesan. Saat batch memiliki lima item dengan kunci partisi yang sama, aplikasi logika penerima batch Anda menembak dan mengirim email untuk setiap pesan.

Penting

Setelah pengujian selesai, pastikan Anda menonaktifkan aplikasi logika BatchSender untuk berhenti mengirim pesan dan menghindari kelebihan beban kotak masuk Anda.

Langkah berikutnya