Cara Membuat Konsumen Webhook Dasar Dengan Fungsi Azure

Cara Membuat Konsumen Webhook Dasar Dengan Fungsi Azure

Cara Membuat Konsumen Webhook Dasar Dengan Fungsi Azure

Dec 20, 2017

Diterbitkan oleh

Diterbitkan oleh

Nick Zimmerman

Nick Zimmerman

Kategori:

Kategori:

Email

Email

Ready to see Bird
in action?

Ready to see Bird
in action?

How To Create A Basic Webhook Consumer With Azure Functions

Antarmuka Webhook Fungsi Azure

In November, I gave a talk at Live! 360 on how to create a basic webhook consumer using Azure Functions. This blog post will recap that talk and distill things so that you will understand the basics of Azure Function, and extend the solusi kerangka kerja yang dapat ditemukan di Github.


Apa itu Webhook?

Webhook adalah hal-hal kecil yang hebat yang disediakan oleh banyak layanan populer termasuk SparkPos

t, Slack, Visual Studio Team Services, Office 365, Facebook, PayPal, dan Salesforce. Webhook memposting data berdasarkan peristiwa ke titik akhir yang Anda tentukan.

Mengapa fungsi tanpa server?

Fungsi tanpa server adalah inovasi yang hebat untuk membantu menerapkan solusi dengan cepat sekaligus mengurangi biaya overhead bagi organisasi. Kurangnya perangkat keras yang harus dipelihara merupakan manfaat besar, dan fungsi tanpa server mampu menangani lalu lintas yang tidak dapat diprediksi flows. Mereka mudah digunakan dan diperbarui, sehingga Anda dapat bangun dan berjalan dengan cepat.


Sinergi!

Menggabungkan webhook dan fungsi tanpa server membuatnya sangat mudah untuk membuat ekosistem yang kaya untuk otomatisasi atau interaksi pengguna. Kemampuan untuk mendorong peristiwa dan data yang dihasilkan oleh semua sistem yang berbeda ini menghilangkan kebutuhan akan middleware yang rumit sekaligus membuatnya sangat mudah untuk memasukkan kode dan peristiwa khusus.


Dasar-dasar Fungsi Azure

Azure Functions dapat dibuat melalui Azure Console atau Visual Studio. Saya sarankan Anda mencoba keduanya agar Anda terbiasa dengan pengalamannya. Salah satu hal yang menyenangkan tentang membuat sesuatu di Azure Console adalah Anda dapat mengunduh Azure Function yang dihasilkan sebagai file solusi Visual Studio. Visual Studio adalah pengalaman IDE kuat yang sama dengan yang Anda kenal dan sukai.


Ada keuntungan dari kedua metode tersebut. Konsol Azure Function memberi Anda akses langsung untuk mengontrol parameter operasi fungsi dari sumber daya yang tersedia hingga batas penggunaan per bulan untuk pengendalian biaya. Semua opsi ini dapat diatur dan dimanipulasi dari Visual Studio melalui file host.json dan variabel lingkungan.


Membuat Konsumen Webhook Dasar

Langkah 1

Buat solusi Visual Studio Baru, dan tambahkan Proyek Baru ke solusi tersebut.



Langkah 2

Klik kanan simpul proyek, dan tambahkan Item Baru. Pilih Azure Function.



Langkah 3

Sekarang Anda memiliki proyek Visual Studio yang sangat familiar. Anda harus memiliki template untuk fungsi dasar C# Azure. Saatnya membuat beberapa kode untuk mengkonsumsi webhook Anda.



Langkah 4

Debug secara lokal. Benar, Anda dapat men-debug hal ini secara lokal dengan semua alat debug dan introspeksi Visual Studio yang sudah dikenal. Pay perhatikan konsol debug, karena berisi banyak informasi berharga tentang setiap panggilan yang Anda buat ke fungsi Anda selama pengujian lokal.



Langkah 5

Publikasikan Fungsi Azure. Klik kanan simpul proyek dan pilih Publikasikan. Pilih Azure Function dan Buat Baru. Perhatikan bahwa Anda juga dapat memperbarui fungsi yang sudah ada. Fungsi sekarang akan muncul di konsol Azure Anda.



Potensi Perangkap

Jebakan paling umum yang menyerang orang ketika bekerja dengan konsumsi webhook dan fungsi tanpa server adalah bahwa fungsi tersebut berjalan terlalu lama. Hal ini menyebabkan fungsi menjadi sangat mahal atau gagal sama sekali karena POST webhook habis. Ada beberapa hal yang dapat Anda lakukan untuk mengatasi masalah ini.


Konsumen webhook harus berjalan secara asinkron. Data harus dicerna secepat mungkin dan kemudian diproses. Kesalahan desain yang umum terjadi adalah mencoba memproses data secara real time saat data masuk. Hal ini dapat dilakukan selama data berukuran kecil dan konsisten, tetapi jika ukuran data dapat bertambah atau tidak konsisten, maka yang terbaik adalah memastikan bahwa data diterima dan permintaan HTTP ditanggapi sehingga tidak terjadi timeout.


Hal lain yang dapat membantu mengurangi proses yang berjalan lama adalah dengan menyimpan data yang diposting dan menggunakan fungsi tanpa server untuk memulai proses dalam kontainer menggunakan sesuatu seperti Azure Container Services (AKS) untuk menangani bagian yang berjalan lama. Dengan menggunakan desain ini, fungsi serverless akan menjalankan dan melupakan kontainer, membiarkan kontainer memposting hasilnya baik ke log atau layanan notifikasi lain yang Anda pilih. Hal ini membuat fungsi tanpa server sesingkat mungkin, namun tetap memungkinkan pemrosesan yang rumit terjadi.


Mari Nyalakan Lilin Ini

Itu dia. Sekarang Anda dapat melanjutkan dan membuat ekosistem kaya Anda sendiri menggunakan fungsi tanpa server dan webhook. Di bawah ini adalah daftar sumber daya lain untuk membantu Anda menyelami lebih dalam Fungsi Azure.

-Nick Zimmerman

ps - di bawah ini adalah beberapa sumber daya tambahan tentang fungsi Azure yang mungkin menarik bagi Anda - selamat menikmati!

Your new standard in Marketing, Pay & Sales. It's Bird

The right message -> ke right person -> di right time.

Your new standard in Marketing, Pay & Sales. It's Bird

The right message -> ke right person -> di right time.