Menerima acara SaaS dari AWS Lambda fungsi URLs di Amazon EventBridge - Amazon EventBridge

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

Langkah 1: Buat AWS CloudFormation tumpukan

Pertama, gunakan EventBridge konsol Amazon untuk membuat CloudFormation tumpukan:

  1. Buka EventBridge konsol Amazon di https://console.aws.amazon.com/events/.

  2. Dari panel navigasi, pilih Mulai cepat.

  3. Di bawah Webhook masuk menggunakan Lambda fURLs, pilih Memulai.

  4. Di bawah GitHub, pilih Siapkan.

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

  6. Di bawah Langkah 2: Siapkan menggunakan CloudFormation, pilih GitHubWebhook baru.

  7. Pilih Saya mengakui bahwa Webhook Masuk yang saya buat akan dapat diakses publik. dan pilih Konfirmasi.

  8. Masukkan nama untuk tumpukan.

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

  10. Di bawah Kemampuan dan transformasi, pilih masing-masing dari berikut ini:

    • 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

  11. 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 di dokumentasi. GitHub

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 di Twilio dokumentasi.

Langkah 2: Buat AWS CloudFormation tumpukan

  1. Buka EventBridge konsol Amazon di https://console.aws.amazon.com/events/.

  2. Di panel navigasi, pilih Mulai cepat.

  3. Di bawah Webhook masuk menggunakan Lambda fURLs, pilih Memulai.

  4. Di bawah Twilio, pilih Siapkan.

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

  6. Di bawah Langkah 2: Siapkan menggunakan CloudFormation, pilih TwilioWebhook baru.

  7. Pilih Saya mengakui bahwa Webhook Masuk yang saya buat akan dapat diakses publik. dan pilih Konfirmasi.

  8. Masukkan nama untuk tumpukan.

  9. Di bawah parameter, verifikasi bahwa bus acara yang benar terdaftar, lalu masukkan TwilioWebhookSecretyang Anda buat di Langkah 1.

  10. Di bawah Kemampuan dan transformasi, pilih masing-masing dari berikut ini:

    • 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

  11. 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 dalam Twilio dokumentasi.

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.

  1. Buat GitHub rahasia baru. Untuk informasi selengkapnya, lihat Rahasia terenkripsi dalam dokumentasi. GitHub

  2. Buka AWS CloudFormation konsol di https://console.aws.amazon.com/cloudformation.

  3. Dari panel navigasi, pilih Stacks.

  4. Pilih tumpukan untuk webhook yang menyertakan rahasia yang ingin Anda perbarui.

  5. Pilih Perbarui.

  6. Pastikan Gunakan template saat ini dipilih dan pilih Berikutnya.

  7. Di bawah GitHubWebhookSecret, hapus Gunakan nilai yang ada, masukkan GitHub rahasia baru yang Anda buat di langkah 1, dan pilih Berikutnya.

  8. Pilih Selanjutnya.

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

  1. Buat Twilio rahasia baru. Untuk informasi selengkapnya, lihat Token Auth dan Cara Mengubahnya di Twilio dokumentasi.

  2. Buka AWS CloudFormation konsol di https://console.aws.amazon.com/cloudformation.

  3. Dari panel navigasi, pilih Stacks.

  4. Pilih tumpukan untuk webhook yang menyertakan rahasia yang ingin Anda perbarui.

  5. Pilih Perbarui.

  6. Pastikan Gunakan template saat ini dipilih dan pilih Berikutnya.

  7. Di bawah TwilioWebhookSecret, hapus Gunakan nilai yang ada, masukkan Twilio rahasia baru yang Anda buat di langkah 1, dan pilih Berikutnya.

  8. Pilih Selanjutnya.

  9. 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
  1. Buka AWS CloudFormation konsol di https://console.aws.amazon.com/cloudformation.

  2. Dari panel navigasi, pilih Stacks.

  3. Pilih tumpukan untuk webhook yang menyertakan fungsi Lambda yang ingin Anda perbarui.

  4. Pilih tab Sumber Daya.

  5. 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
  1. Di bawah Tindakan, pilih fungsi Ekspor.

  2. Pilih Unduh paket penyebaran dan simpan file ke komputer Anda.

  3. Buka zip paket penyebaran file.zip, perbarui app.py file, dan zip paket penyebaran yang diperbarui, pastikan semua file dalam file.zip asli disertakan.

  4. Di konsol Lambda, pilih tab Kode.

  5. Di bagian Sumber kode, pilih Unggah dari.

  6. Pilih file.zip, lalu pilih Unggah.

    1. Di pemilih file, pilih file yang Anda perbarui, pilih Buka, lalu pilih Simpan.

  7. Di bawah Tindakan, pilih Publikasikan versi baru.

Jenis acara yang tersedia

Jenis acara berikut saat ini didukung oleh bus CloudFormation acara:

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

Untuk informasi selengkapnya tentang kuota, termasuk meminta kenaikan kuota, lihat kuota.AWS Secrets Manager

catatan

Jumlah 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:

Twilio

Twiliopengguna dapat menyesuaikan opsi coba lagi acara menggunakan penggantian koneksi. Untuk informasi selengkapnya, lihat Webhooks (HTTPcallback): Penggantian Koneksi dalam dokumentasi. Twilio