Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menerima acara SaaS dari AWS Lambda fungsi URLs di Amazon EventBridge
catatan
Agar Webhook Masuk dapat diakses oleh mitra kami, kami membuat Lambda Terbuka di AWS akun Anda yang diamankan di tingkat aplikasi Lambda dengan memverifikasi tanda tangan otentikasi yang dikirim oleh mitra pihak ketiga. Harap tinjau konfigurasi ini dengan tim keamanan Anda. Untuk informasi selengkapnya, lihat Model keamanan dan autentikasi untuk fungsi URLs Lambda.
Bus EventBridge acara Amazon Anda dapat menggunakan AWS Lambda fungsi yang URL dibuat oleh AWS CloudFormation template untuk menerima acara dari penyedia SaaS yang didukung. Dengan fungsiURLs, data peristiwa dikirim ke fungsi Lambda. Fungsi kemudian mengubah data ini menjadi peristiwa yang dapat dicerna oleh EventBridge dan dikirim ke bus acara untuk diproses. Setelah acara berada di bus acara, Anda dapat menggunakan aturan untuk memfilter peristiwa, menerapkan transformasi input yang dikonfigurasi, dan kemudian merutekkannya ke target yang benar.
catatan
Membuat fungsi Lambda URLs akan meningkatkan biaya bulanan Anda. Untuk informasi selengkapnya, lihat harga AWS Lambda
Untuk mengatur koneksi EventBridge, Anda terlebih dahulu memilih penyedia SaaS yang ingin Anda atur koneksi dengannya. Kemudian, Anda memberikan rahasia penandatanganan yang telah Anda buat dengan penyedia itu, dan pilih bus EventBridge acara untuk mengirim acara. Akhirnya, Anda menggunakan AWS CloudFormation template dan membuat sumber daya yang dibutuhkan untuk menyelesaikan koneksi.
Penyedia SaaS berikut saat ini tersedia untuk digunakan dengan menggunakan fungsi EventBridge Lambda: URLs
-
GitHub
-
Twilio
Topik
Langkah 1: Buat AWS CloudFormation tumpukan
Pertama, gunakan EventBridge konsol Amazon untuk membuat CloudFormation tumpukan:
Buka EventBridge konsol Amazon di https://console.aws.amazon.com/events/
. -
Dari panel navigasi, pilih Mulai cepat.
-
Di bawah Webhook masuk menggunakan Lambda fURLs, pilih Memulai.
-
Di bawah GitHub, pilih Siapkan.
-
Di bawah Langkah 1: Pilih bus acara, pilih bus acara dari daftar dropdown. Bus acara ini menerima data dari fungsi Lambda URL yang Anda berikan. GitHub Anda juga dapat membuat bus acara dengan memilih bus acara baru.
-
Di bawah Langkah 2: Siapkan menggunakan CloudFormation, pilih GitHubWebhook baru.
-
Pilih Saya mengakui bahwa Webhook Masuk yang saya buat akan dapat diakses publik. dan pilih Konfirmasi.
-
Masukkan nama untuk tumpukan.
-
Di bawah parameter, verifikasi bahwa bus peristiwa yang benar terdaftar, lalu tentukan token aman untuk GitHubWebhookSecret. Untuk informasi selengkapnya tentang membuat token aman, lihat Menyetel token rahasia Anda
di GitHub dokumentasi. -
Di bawah Kemampuan dan transformasi, pilih masing-masing hal berikut:
-
Saya akui itu AWS CloudFormation mungkin menciptakan IAM sumber daya.
-
Saya mengakui bahwa AWS CloudFormation mungkin membuat IAM sumber daya dengan nama khusus.
-
Saya mengakui bahwa AWS CloudFormation mungkin memerlukan kemampuan berikut:
CAPABILITY_AUTO_EXPAND
-
-
Pilih Buat tumpukan.
Langkah 2: Buat GitHub webhook
Selanjutnya, buat webhook diGitHub. Anda memerlukan token aman dan fungsi Lambda yang URL Anda buat di langkah 2 untuk menyelesaikan langkah ini. Untuk informasi selengkapnya, lihat Membuat webhook
Mengatur koneksi ke Twilio
Langkah 1: Temukan token Twilio autentikasi Anda
Untuk mengatur koneksi antara Twilio dan EventBridge, pertama-tama atur koneksi Twilio dengan token autentikasi, atau rahasia, untuk Twilio akun Anda. Untuk informasi selengkapnya, lihat Token Auth dan Cara Mengubahnya
Langkah 2: Buat AWS CloudFormation tumpukan
Buka EventBridge konsol Amazon di https://console.aws.amazon.com/events/
. -
Di panel navigasi, pilih Mulai cepat.
-
Di bawah Webhook masuk menggunakan Lambda fURLs, pilih Memulai.
-
Di bawah Twilio, pilih Siapkan.
-
Di bawah Langkah 1: Pilih dan bus acara, spilih bus acara dari daftar dropdown. Bus acara ini menerima data dari fungsi Lambda URL yang Anda berikan. Twilio Anda juga dapat membuat bus acara dengan memilih bus acara baru.
-
Di bawah Langkah 2: Siapkan menggunakan CloudFormation, pilih TwilioWebhook baru.
-
Pilih Saya mengakui bahwa Webhook Masuk yang saya buat akan dapat diakses publik. dan pilih Konfirmasi.
-
Masukkan nama untuk tumpukan.
-
Di bawah parameter, verifikasi bahwa bus acara yang benar terdaftar, lalu masukkan TwilioWebhookSecretyang Anda buat di Langkah 1.
-
Di bawah Kemampuan dan transformasi, pilih masing-masing hal berikut:
-
Saya akui itu AWS CloudFormation mungkin menciptakan IAM sumber daya.
-
Saya mengakui bahwa AWS CloudFormation mungkin membuat IAM sumber daya dengan nama khusus.
-
Saya mengakui bahwa AWS CloudFormation mungkin memerlukan kemampuan berikut: CAPABILITY _ _ AUTO EXPAND
-
-
Pilih Buat tumpukan.
Langkah 3: Buat Twilio webhook
Setelah Anda mengatur fungsi LambdaURL, Anda harus memberikannya ke Twilio sehingga data acara dapat dikirim. Untuk informasi selengkapnya, lihat Mengonfigurasi publik Anda URL dengan Twilio
Perbarui rahasia webhook atau token autentikasi
Perbarui GitHub rahasia
catatan
GitHubtidak mendukung memiliki dua rahasia pada saat yang sama. Anda mungkin mengalami downtime sumber daya sementara GitHub rahasia dan rahasia di AWS CloudFormation tumpukan tidak sinkron. GitHubpesan yang dikirim saat rahasia tidak sinkron akan gagal karena tanda tangan yang salah. Tunggu sampai CloudFormation rahasia GitHub dan sinkron, lalu coba lagi.
-
Buat GitHub rahasia baru. Untuk informasi selengkapnya, lihat Rahasia terenkripsi
dalam dokumentasi. GitHub Buka AWS CloudFormation konsol di https://console.aws.amazon.com/cloudformation
. -
Dari panel navigasi, pilih Stacks.
-
Pilih tumpukan untuk webhook yang menyertakan rahasia yang ingin Anda perbarui.
-
Pilih Perbarui.
-
Pastikan Gunakan template saat ini dipilih dan pilih Berikutnya.
-
Di bawah GitHubWebhookSecret, hapus Gunakan nilai yang ada, masukkan GitHub rahasia baru yang Anda buat di langkah 1, dan pilih Berikutnya.
-
Pilih Berikutnya.
-
Pilih Perbarui tumpukan.
Mungkin perlu waktu hingga satu jam agar rahasia menyebar. Untuk mengurangi waktu henti ini, Anda dapat menyegarkan konteks eksekusi Lambda.
Perbarui Twilio rahasia
catatan
Twiliotidak mendukung memiliki dua rahasia pada saat yang sama. Anda mungkin mengalami downtime sumber daya sementara Twilio rahasia dan rahasia di AWS CloudFormation tumpukan tidak sinkron. Twiliopesan yang dikirim saat rahasia tidak sinkron akan gagal karena tanda tangan yang salah. Tunggu sampai CloudFormation rahasia Twilio dan sinkron, lalu coba lagi.
-
Buat Twilio rahasia baru. Untuk informasi selengkapnya, lihat Token Auth dan Cara Mengubahnya
di Twilio dokumentasi. Buka AWS CloudFormation konsol di https://console.aws.amazon.com/cloudformation
. -
Dari panel navigasi, pilih Stacks.
-
Pilih tumpukan untuk webhook yang menyertakan rahasia yang ingin Anda perbarui.
-
Pilih Perbarui.
-
Pastikan Gunakan template saat ini dipilih dan pilih Berikutnya.
-
Di bawah TwilioWebhookSecret, hapus Gunakan nilai yang ada, masukkan Twilio rahasia baru yang Anda buat di langkah 1, dan pilih Berikutnya.
-
Pilih Berikutnya.
-
Pilih Perbarui tumpukan.
Mungkin perlu waktu hingga satu jam agar rahasia menyebar. Untuk mengurangi waktu henti ini, Anda dapat menyegarkan konteks eksekusi Lambda.
Perbarui fungsi Lambda
Fungsi Lambda yang dibuat oleh CloudFormation tumpukan menciptakan webhook dasar. Jika Anda ingin menyesuaikan fungsi Lambda untuk kasus penggunaan tertentu, seperti pencatatan khusus, gunakan CloudFormation konsol untuk mengakses fungsi dan kemudian gunakan konsol Lambda untuk memperbarui kode fungsi Lambda.
Akses fungsi Lambda
Buka AWS CloudFormation konsol di https://console.aws.amazon.com/cloudformation
. -
Dari panel navigasi, pilih Stacks.
-
Pilih tumpukan untuk webhook yang menyertakan fungsi Lambda yang ingin Anda perbarui.
-
Pilih tab Sumber Daya.
-
Untuk membuka fungsi Lambda di konsol Lambda, di bawah ID Fisik, pilih ID fungsi Lambda.
Sekarang setelah Anda mengakses fungsi Lambda, gunakan konsol Lambda untuk memperbarui kode fungsi.
Perbarui kode fungsi Lambda
-
Di bawah Tindakan, pilih fungsi Ekspor.
-
Pilih Unduh paket penyebaran dan simpan file ke komputer Anda.
-
Buka zip paket penyebaran file.zip, perbarui
app.py
file, dan zip paket penyebaran yang diperbarui, pastikan semua file dalam file.zip asli disertakan. -
Di konsol Lambda, pilih tab Kode.
-
Di bagian Sumber kode, pilih Unggah dari.
-
Pilih file.zip, lalu pilih Unggah.
Di pemilih file, pilih file yang Anda perbarui, pilih Buka, lalu pilih Simpan.
-
Di bawah Tindakan, pilih Publikasikan versi baru.
Jenis acara yang tersedia
Jenis acara berikut saat ini didukung oleh bus CloudFormation acara:
-
GitHub— Semua jenis acara
didukung. -
Twilio - Webhook pasca-acara didukung
.
Kuota, kode kesalahan, dan mencoba kembali pengiriman
Kuota
Jumlah permintaan masuk ke webhook dibatasi oleh layanan yang mendasarinya. AWS Tabel berikut mencakup kuota yang relevan.
Layanan | Kuota |
---|---|
AWS Lambda |
Default: 10 eksekusi bersamaan Untuk informasi selengkapnya tentang kuota, termasuk meminta kenaikan kuota, lihat Kuota Lambda. |
AWS Secrets Manager |
Default: 5.000 permintaan per detik catatanJumlah permintaan per detik diminimalkan menggunakan klien caching AWS Secrets Manager Python |
Amazon EventBridge |
Ukuran entri maksimum 256KB untuk PutEvents tindakan. EventBridge memberlakukan kuota tarif berbasis wilayah. Untuk informasi selengkapnya, lihat EventBridge kuota. |
Kode eror
Setiap AWS layanan mengembalikan kode kesalahan tertentu ketika kesalahan terjadi. Tabel berikut mencakup kode kesalahan yang relevan.
Layanan | Kode kesalahan | Deskripsi |
---|---|---|
AWS Lambda |
429 “” TooManyRequestsExption |
Kuota eksekusi bersamaan terlampaui. |
AWS Secrets Manager |
500 “Kesalahan Server Internal” |
Kuota permintaan per detik terlampaui. |
Amazon EventBridge |
500 “Kesalahan Server Internal” |
Kuota tarif terlampaui untuk Wilayah. |
Pengiriman ulang acara
Ketika kesalahan terjadi, Anda dapat mencoba kembali pengiriman peristiwa yang terpengaruh. Setiap penyedia SaaS memiliki prosedur coba ulang yang berbeda.
GitHub
Gunakan GitHub webhook API untuk memeriksa status pengiriman panggilan webhook apa pun dan mengirimkan ulang acara, jika diperlukan. Untuk informasi selengkapnya, lihat GitHub dokumentasi berikut:
-
Organisasi — Mengirimkan ulang pengiriman untuk webhook organisasi
-
Repositori - Mengirimkan ulang pengiriman untuk webhook
repositori
Twilio
Twiliopengguna dapat menyesuaikan opsi coba lagi acara menggunakan penggantian koneksi. Untuk informasi selengkapnya, lihat Webhooks (HTTPcallback): Penggantian Koneksi dalam dokumentasi