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

Berlaku untuk: Azure Logic Apps (Konsumsi + Standar)

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

Catatan

Tindakan Respons hanya berfungsi saat Anda menggunakan pemicu Permintaan.

Misalnya, daftar ini menjelaskan beberapa tugas yang dapat dilakukan alur kerja Anda 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

  • Akun dan langganan Azure. Jika Anda tidak memiliki langganan, Anda bisa mendaftar untuk mendapatkan Azure akun gratis.

  • Alur kerja aplikasi logika tempat Anda ingin menerima permintaan HTTPS masuk. Untuk memulai alur kerja Anda dengan pemicu Permintaan, Anda harus memulai dengan alur kerja kosong. Untuk menggunakan tindakan Respons, alur kerja Anda harus dimulai dengan pemicu Permintaan.

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, tinjau Alur kerja Panggilan, pemicu, atau sarang dengan titik akhir HTTPS di Azure Logic Apps.

  1. Di portal Azure, buka aplikasi logika Konsumsi dan alur kerja kosong di perancang.

  2. Pada perancang, ikuti langkah-langkah umum ini untuk menemukan dan menambahkan pemicu bawaan Permintaan bernama Saat permintaan HTTP diterima.

  3. Setelah kotak informasi pemicu muncul, berikan informasi berikut sesuai kebutuhan:

    Nama properti Nama properti JSON Wajib Deskripsi
    URL POSTINGAN HTTP {none} 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:

    Screenshot showing Consumption workflow and Request trigger with example JSON schema.

    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 menampilkan pengingat untuk menyertakan header Jenis Konten dalam permintaan Anda dan mengatur nilai header tersebut ke aplikasi/json. Untuk informasi selengkapnya, lihat Menangani jenis konten.

    Screenshot showing Consumption workflow, Request trigger, and reminder to include

    Contoh berikut menunjukkan bagaimana header Tipe Konten muncul dalam format JSON:

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

    Untuk menghasilkan skema JSON yang didasarkan pada muatan (data) yang diharapkan, Anda dapat menggunakan alat seperti JSONSchema.net, atau Anda dapat mengikuti langkah-langkah berikut:

    1. Di Pemicu permintaan, pilih Gunakan contoh payload untuk membuat skema.

      Screenshot showing Consumption workflow, Request trigger, and

    2. Masukkan contoh muatan, dan pilih Selesai.

      Screenshot showing Consumption workflow, Request trigger, and sample payload entered to generate schema.

      Contoh berikut menunjukkan contoh payload:

      {
         "account": {
            "name": "Contoso",
            "ID": "12345",
            "address": {
               "number": "1234",
               "street": "Anywhere Street",
               "city": "AnyTown",
               "state": "AnyState",
               "country": "USA",
               "postalCode": "11111"
            }
         }
      }
      
  4. 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. addtionalProperties 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. Di bilah judul Pemicu permintaan, pilih tombol elipsis (...).

    3. Di pengaturan pemicu, aktifkan Validasi Skema, danpilih Selesai.

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

  5. Untuk menambahkan properti atau parameter lain ke pemicu, buka daftar Tambahkan parameter baru, dan pilih parameter yang ingin Anda tambahkan.

    Nama properti Nama properti JSON Wajib Deskripsi
    Metode method Tidak Metode yang harus digunakan permintaan masuk untuk memanggil aplikasi logika
    Jalur relatif relativePath Tidak Jalur relatif untuk parameter yang dapat diterima URL endpoint aplikasi logika

    Contoh berikut menambahkan properti Metode :

    Screenshot showing Consumption workflow, Request trigger, and adding the

    Properti Metode muncul di pemicu sehingga Anda dapat memilih metode dari daftar.

    Screenshot showing Consumption workflow, Request trigger, and the

  6. 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.

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

    Screenshot showing Consumption workflow, Request trigger, and URL copy button selected.

    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, otorisasi, dan enkripsi untuk panggilan masuk ke alur kerja Anda, seperti Keamanan Lapisan Transportasi (TLS), yang sebelumnya dikenal sebagai Secure Sockets Layer (SSL), Microsoft Entra ID Open Authentication (Microsoft Entra ID OAuth), mengekspos sumber daya aplikasi logika Anda dengan Azure API Management, atau membatasi alamat IP yang berasal dari panggilan masuk, lihat Akses dan data aman - Akses untuk panggilan masuk ke pemicu berbasis permintaan.

Output pemicu

Tabel berikut mencantumkan output dari pemicu Permintaan:

Nama properti JSON Jenis data Deskripsi
header 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 pemicu Permintaan dan tindakan Respons membuat pola respons permintaan. Kecuali untuk loop Foreach di dalam dan Loop Until, dan cabang paralel, Anda dapat menambahkan tindakan Respons di mana saja di 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 akan 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, and Content-Typedan ketika 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. Pada perancang alur kerja, ikuti langkah-langkah umum ini untuk menemukan dan menambahkan tindakan bawaan Respons bernama Respons.

    Untuk kesederhanaan, contoh berikut menunjukkan pemicu Permintaan yang diciutkan.

  2. 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, daftar konten dinamis akan terbuka secara otomatis. Anda kemudian dapat memilih token yang mewakili output yang tersedia dari langkah-langkah sebelumnya dalam alur kerja. Properti dari skema yang Anda tentukan juga muncul dalam daftar konten dinamis ini. Anda dapat memilih properti ini untuk digunakan dalam alur kerja Anda.

    Misalnya, di bidang Header , sertakan Content-Type sebagai nama kunci, dan atur nilai kunci ke application/json seperti yang disebutkan sebelumnya dalam artikel ini. Untuk kotak Isi, Anda dapat memilih output isi pemicu dari daftar konten dinamis.

    Screenshot showing Azure portal, Consumption workflow, and Response action information.

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

    Screenshot showing Azure portal, Consumption workflow, and Response action headers in

  3. Untuk menambahkan lebih banyak properti untuk tindakan, seperti skema JSON untuk isi respons, dari daftar Tambahkan parameter baru, pilih parameter yang ingin Anda tambahkan.

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

Menguji alur kerja

Untuk menguji alur kerja Anda, kirim permintaan HTTP ke URL yang dihasilkan. Misalnya, Anda dapat menggunakan alat seperti Tukang Pos untuk mengirim permintaan HTTP. Untuk informasi selengkapnya tentang definisi JSON pemicu yang mendasari dan cara memanggil pemicu ini, lihat topik ini, Meminta tipe pemicu dan alur kerja Panggilan, pemicu, atau sarang 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 ketentuan Azure Functions untuk mengautentikasi panggilan masuk yang dikirim ke titik akhir yang dibuat oleh pemicu tersebut dengan menggunakan identitas terkelola. Ketentuan ini dikenal juga sebagai "Easy Auth". Untuk informasi selengkapnya, tinjau Alur kerja pemicu 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), yang sebelumnya dikenal sebagai Secure Sockets Layer (SSL), Microsoft Entra ID Open Authentication (Microsoft Entra ID OAuth), mengekspos aplikasi logika Anda dengan Azure API Management, atau membatasi alamat IP yang berasal dari panggilan masuk, lihat Akses dan data aman - Akses untuk panggilan masuk ke pemicu berbasis permintaan.

Langkah berikutnya