Bagikan melalui


Menerima dan menanggapi panggilan HTTPS masuk yang dikirim ke alur kerja di Azure Logic Apps

Berlaku untuk: Azure Logic Apps (Konsumsi + Standar)

Panduan ini menunjukkan cara membuat alur kerja aplikasi logika yang dapat menerima dan menangani permintaan HTTPS masuk dari layanan lain dengan menggunakan pemicu bawaan Permintaan . Saat alur kerja Anda menggunakan pemicu ini, alur kerja dapat merespons panggilan HTTPS dengan menggunakan tindakan bawaan Respons .

Catatan

Tindakan Respons hanya berfungsi saat Anda menggunakan pemicu Permintaan .

Misalnya, alur kerja Anda dapat melakukan tugas berikut saat Anda menggunakan tindakan Pemicu permintaan dan Respons :

  • Terima dan respons permintaan HTTPS untuk data dalam database lokal.

  • Menerima dan menanggapi permintaan HTTPS yang dikirim dari alur kerja aplikasi logika lain.

  • Memicu eksekusi alur kerja saat peristiwa webhook eksternal terjadi.

Untuk menjalankan alur kerja Anda dengan mengirim permintaan keluar atau keluar, gunakan pemicu bawaan HTTP atau tindakan bawaan HTTP.

Prasyarat

  • Sumber daya aplikasi logika dengan alur kerja tempat Anda ingin menerima permintaan HTTPS masuk.

    Untuk memulai alur kerja Anda dengan pemicu Permintaan , Anda harus memiliki alur kerja kosong. Untuk menggunakan tindakan Respons , alur kerja Anda harus dimulai dengan pemicu Permintaan .

    Jika Anda tidak memiliki sumber daya dan alur kerja aplikasi logika, buat sekarang dengan mengikuti langkah-langkah untuk aplikasi logika yang Anda inginkan:

  • Instal atau gunakan alat yang dapat mengirim permintaan HTTP untuk menguji solusi Anda, misalnya:

    Perhatian

    Untuk skenario di mana Anda memiliki data sensitif, seperti kredensial, rahasia, token akses, kunci API, dan informasi serupa lainnya, pastikan untuk menggunakan alat yang melindungi data Anda dengan fitur keamanan yang diperlukan. Alat ini harus berfungsi secara offline atau lokal, dan tidak memerlukan masuk ke akun online atau menyinkronkan data ke cloud. Saat Anda menggunakan alat dengan karakteristik ini, Anda mengurangi risiko mengekspos data sensitif ke publik.

Menambahkan pemicu Permintaan

Pemicu Permintaan membuat titik akhir yang dapat dipanggil secara manual yang hanya menangani permintaan masuk melalui HTTPS. Saat penelepon mengirim permintaan ke titik akhir ini, pemicu Permintaan diaktifkan dan menjalankan alur kerja. Untuk informasi tentang cara memanggil pemicu ini, lihat Memanggil, memicu, atau merangkai alur kerja dengan titik akhir HTTPS di Azure Logic Apps.

  1. Di portal Azure, buka sumber daya aplikasi logika Konsumsi Anda.

  2. Pada menu bilah samping, di bawah Alat Pengembangan, pilih perancang untuk membuka alur kerja kosong Anda.

  3. Tambahkan pemicu bawaan Permintaan bernama Saat permintaan HTTP diterima ke alur kerja Anda dengan mengikuti langkah-langkah umum untuk menambahkan pemicu.

  4. Setelah kotak informasi pemicu muncul, berikan informasi berikut:

    Nama properti Nama properti JSON Wajib Deskripsi
    HTTP URL {tidak ada} Ya URL titik akhir yang dihasilkan setelah Anda menyimpan alur kerja dan digunakan untuk mengirim permintaan yang memicu alur kerja Anda.
    Skema JSON Isi Permintaan schema Tidak. Skema JSON yang menjelaskan properti dan nilai dalam isi permintaan masuk. Desainer menggunakan skema ini untuk menghasilkan token untuk properti dalam permintaan. Dengan begitu, alur kerja Anda dapat mengurai, menggunakan, dan meneruskan output dari pemicu Permintaan ke alur kerja Anda.

    Jika Anda tidak memiliki skema JSON, Anda dapat menghasilkan skema dari payload sampel dengan menggunakan Payload sampel Penggunaan untuk menghasilkan kemampuan skema .

    Contoh berikut menunjukkan contoh skema JSON:

    Cuplikan layar memperlihatkan alur kerja Konsumsi dan Pemicu permintaan dengan contoh skema JSON.

    Contoh berikut menunjukkan contoh lengkap skema JSON:

    {
       "type": "object",
       "properties": {
          "account": {
             "type": "object",
             "properties": {
                "name": {
                   "type": "string"
                },
                "ID": {
                   "type": "string"
                },
                "address": {
                   "type": "object",
                   "properties": {
                      "number": {
                         "type": "string"
                      },
                      "street": {
                         "type": "string"
                      },
                      "city": {
                         "type": "string"
                      },
                      "state": {
                         "type": "string"
                      },
                      "country": {
                         "type": "string"
                      },
                      "postalCode": {
                         "type": "string"
                      }
                   }
                }
             }
          }
       }
    }
    

    Saat Anda memasukkan skema JSON, perancang mungkin menampilkan pengingat untuk menyertakan Content-Type header dalam permintaan Anda dan mengatur nilai header tersebut ke application/json. Untuk informasi selengkapnya, lihat Menangani jenis konten.

    Contoh berikut menunjukkan bagaimana Content-Type header muncul dalam format JSON:

    {
       "Content-Type": "application/json"
    }
    

    Untuk menghasilkan skema JSON yang didasarkan pada payload (data) yang diharapkan, Anda dapat menggunakan alat seperti json-schema.org, atau Anda dapat mengikuti langkah-langkah berikut:

    1. Di pemicu Permintaan, pilih Gunakan sampel payload untuk menghasilkan skema.

      Cuplikan layar memperlihatkan alur kerja Konsumsi, Pemicu permintaan, dan opsi untuk menggunakan payload sampel untuk menghasilkan skema.

    2. Masukkan contoh muatan, dan pilih Selesai.

      Cuplikan layar memperlihatkan alur kerja Konsumsi, Pemicu permintaan, dan payload sampel yang dimasukkan untuk menghasilkan skema.

      Contoh berikut menunjukkan contoh payload:

      {
         "account": {
            "name": "Contoso",
            "ID": "12345",
            "address": {
               "number": "1234",
               "street": "Anywhere Street",
               "city": "AnyTown",
               "state": "AnyState",
               "country": "USA",
               "postalCode": "11111"
            }
         }
      }
      
  5. Untuk memeriksa apakah panggilan masuk memiliki isi permintaan yang cocok dengan skema yang Anda tentukan, ikuti langkah-langkah berikut:

    1. Untuk menerapkan pesan masuk agar memiliki bidang yang sama persis dengan yang dijelaskan skema Anda, dalam skema Anda, tambahkan properti required dan tentukan bidang yang diperlukan. additionalProperties Tambahkan properti , dan atur nilai ke false.

      Misalnya, skema berikut menentukan bahwa pesan masuk harus memiliki bidang msg dan bukan bidang lainnya:

      {
         "properties": {
           "msg": {
              "type": "string"
           }
         },
         "type": "object",
         "required": ["msg"],
         "additionalProperties": false
      }
      
    2. Pada perancang, pilih pemicu Permintaan. Pada panel informasi yang terbuka, pilih tab Pengaturan .

    3. Perluas Penanganan Data, dan atur Validasi Skema ke Aktif.

      Jika isi permintaan panggilan masuk tidak cocok dengan skema Anda, pemicu mengembalikan kesalahan Permintaan Buruk HTTP 400.

  6. Dari daftar Metode , pilih metode yang diharapkan pemicu untuk digunakan oleh permintaan masuk.

    Cuplikan layar memperlihatkan alur kerja Standar, Pemicu permintaan, dan daftar Metode dibuka dengan metode yang dipilih.

  7. Jika ada parameter lain untuk pemicu, buka daftar Parameter tingkat lanjut , dan pilih parameter yang Anda inginkan.

  8. Saat Anda siap, simpan alur kerja Anda. Di bar alat perancang, pilih Simpan.

    Langkah ini menghasilkan URL yang dapat Anda gunakan untuk mengirim permintaan yang memicu alur kerja.

  9. Untuk menyalin URL yang dihasilkan, pilih ikon salin di samping URL.

    Cuplikan layar memperlihatkan alur kerja Konsumsi, Pemicu permintaan, dan tombol salin URL yang dipilih.

    Catatan

    Jika Anda ingin menyertakan simbol hash atau pound (#) dalam URI saat melakukan panggilan ke pemicu Permintaan , gunakan versi yang dikodekan ini sebagai gantinya: %25%23

Sekarang, lanjutkan membangun alur kerja Anda dengan menambahkan tindakan lain sebagai langkah berikutnya. Misalnya, Anda dapat menanggapi permintaan dengan menambahkan tindakan Respons, yang dapat Anda gunakan untuk mengembalikan respons yang dikustomisasi dan dijelaskan nanti di artikel ini.

Catatan

Alur kerja Anda membuat permintaan masuk tetap terbuka hanya untuk waktu yang terbatas. Dengan asumsi bahwa alur kerja Anda juga menyertakan tindakan Respons, jika alur kerja Anda tidak mengembalikan respons ke pemanggil setelah waktu ini kedaluwarsa, alur kerja Anda mengembalikan status BATAS WAKTU GATEWAY 504 ke pemanggil. Jika alur kerja Anda tidak menyertakan tindakan Respons, alur kerja Anda segera mengembalikan status 202 DITERIMA ke pemanggil.

Untuk informasi tentang keamanan, autentikasi, dan enkripsi untuk panggilan masuk ke alur kerja Anda, seperti Keamanan Lapisan Transportasi (TLS), OAuth dengan ID Microsoft Entra, Tanda Tangan Akses Bersama (SAS), mengekspos sumber daya aplikasi logika Anda dengan Azure API Management, atau membatasi alamat IP yang berasal dari panggilan masuk, lihat Akses untuk panggilan masuk ke pemicu berbasis permintaan.

Output pemicu

Tabel berikut mencantumkan output dari pemicu Permintaan:

Nama properti JSON Jenis data Deskripsi
headers Objek Objek JSON yang menjelaskan header dari permintaan
body Objek Objek JSON yang menjelaskan isi tubuh dari permintaan

Tambahkan tindakan Respons

Saat Anda menggunakan pemicu Permintaan untuk menerima permintaan masuk, Anda dapat memodelkan respons dan mengirim hasil payload kembali ke pemanggil dengan menggunakan tindakan bawaan Respons , yang hanya berfungsi dengan pemicu Permintaan . Kombinasi ini dengan tindakan Pemicu permintaan dan Respons membuat pola respons permintaan. Kecuali di dalam Untuk setiap perulangan dan perulangan hingga, dan cabang paralel, Anda dapat menambahkan tindakan Tanggapan di mana saja dalam alur kerja Anda.

Penting

  • Jika tindakan Respons Anda menyertakan header berikut, Azure Logic Apps secara otomatis menghapus header ini dari pesan respons yang dihasilkan tanpa menampilkan peringatan atau kesalahan apa pun. Azure Logic Apps tidak menyertakan header ini, meskipun layanan tidak akan menghentikan Anda menyimpan alur kerja yang memiliki tindakan Respons dengan header ini.

    • Allow
    • Content-*header kecuali untuk Content-Disposition, Content-Encoding, dan Content-Type saat Anda menggunakan operasi POST dan PUT, tetapi tidak disertakan untuk operasi GET.
    • Cookie
    • Expires
    • Last-Modified
    • Set-Cookie
    • Transfer-Encoding
  • Jika Anda memiliki satu atau beberapa tindakan Respons dalam alur kerja yang kompleks dengan cabang, pastikan alur kerja memproses setidaknya satu tindakan Respons selama runtime. Jika tidak, jika semua tindakan Respons dilewati, pemanggil menerima kesalahan Gateway Buruk 502, meskipun alur kerja berhasil diselesaikan.

  • Dalam alur kerja stateless aplikasi logika Standar, tindakan Respons harus muncul terakhir di alur kerja Anda. Jika tindakan muncul di tempat lain, Azure Logic Apps masih tidak akan menjalankan tindakan hingga semua tindakan lain selesai berjalan.

  1. Di portal Azure, buka sumber daya aplikasi logika Konsumsi Anda.

  2. Pada menu bilah samping, di bawah Alat Pengembangan, pilih perancang untuk membuka alur kerja.

    Contoh alur kerja ini menggunakan pemicu Permintaan yang ditambahkan di bagian sebelumnya.

  3. Tambahkan tindakan bawaan Respons ke alur kerja Anda dengan mengikuti langkah-langkah umum untuk menambahkan tindakan.

  4. Dalam kotak informasi tindakan, tambahkan nilai yang diperlukan untuk pesan respons.

    Nama properti Nama properti JSON Wajib Deskripsi
    Kode status statusCode Ya Kode status yang akan dikembalikan dalam respons
    Header headers Tidak. Objek JSON yang menjelaskan satu atau beberapa header untuk disertakan dalam respons
    Isi body Tidak. Isi respons

    Saat Anda memilih di dalam bidang teks apa pun, Anda mendapatkan opsi untuk membuka daftar konten dinamis (ikon petir) atau editor ekspresi (ikon fungsi). Saat Anda memilih daftar konten dinamis, Anda dapat memilih output yang tersedia dari langkah-langkah sebelumnya dalam alur kerja. Jika Anda menentukan skema dalam pemicu Permintaan , properti skema juga muncul di daftar konten dinamis dan tersedia untuk Anda gunakan dalam alur kerja Anda.

    Misalnya, di bidang Header , gunakan Content-Type sebagai nama kunci, dan atur nilai kunci ke application/json seperti yang disebutkan sebelumnya dalam artikel ini. Untuk kotak Badan, buka daftar konten dinamis dan pilih keluaran badan pemicu.

    Cuplikan layar memperlihatkan portal Microsoft Azure, alur kerja Konsumsi, dan informasi tindakan Respons.

    Untuk menampilkan header dalam format JSON, pilih Beralih ke tampilan teks.

    Cuplikan layar memperlihatkan portal Microsoft Azure, alur kerja Konsumsi, dan header tindakan Respons di Beralih ke tampilan teks.

  5. Jika ada parameter lain untuk tindakan, buka daftar Parameter tingkat lanjut , dan pilih parameter yang Anda inginkan.

  6. Setelah selesai, simpan alur kerja. Di bar alat perancang, pilih Simpan.

Menguji alur kerja

Untuk memicu alur kerja Anda, kirim permintaan HTTP ke URL yang dihasilkan untuk pemicu Permintaan. Pastikan untuk menyertakan metode yang diharapkan oleh pemicu Permintaan tersebut, menggunakan alat permintaan HTTP Anda sesuai dengan petunjuk penggunaannya.

Untuk informasi selengkapnya tentang definisi JSON dasar dari pemicu dan cara memanggil pemicu ini, lihat artikel ini: Jenis pemicu Permintaan dan Memanggil, memicu, atau memasang alur kerja dengan titik akhir HTTP di Azure Logic Apps.

Keamanan dan autentikasi

Dalam alur kerja aplikasi logika Standar yang dimulai dengan pemicu Permintaan (tetapi bukan pemicu webhook), Anda dapat menggunakan provisi Azure Functions untuk mengautentikasi panggilan masuk yang dikirim ke titik akhir yang dibuat oleh pemicu tersebut dengan menggunakan identitas terkelola. Ketentuan ini juga dikenal sebagai Easy Auth. Untuk informasi selengkapnya, lihat Memicu alur kerja di aplikasi logika Standar dengan Easy Auth.

Untuk informasi selengkapnya tentang keamanan, otorisasi, dan enkripsi untuk panggilan masuk ke alur kerja aplikasi logika Anda, seperti Keamanan Lapisan Transportasi (TLS), Autentikasi Terbuka ID Microsoft Entra (Microsoft Entra ID OAuth), mengekspos aplikasi logika Anda dengan Azure API Management, atau membatasi alamat IP yang berasal dari panggilan masuk, lihat Akses untuk panggilan masuk ke pemicu berbasis permintaan.