Tujuan API - Amazon EventBridge

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Tujuan API

Tujuan Amazon EventBridge API adalah titik akhir HTTP yang dapat Anda panggil sebagai target aturan, mirip dengan cara Anda memanggil AWS layanan atau sumber daya sebagai target. Menggunakan tujuan API, Anda dapat merutekan peristiwa antara AWS layanan, aplikasi perangkat lunak terintegrasi sebagai layanan (SaaS), dan aplikasi Anda di luar AWS dengan menggunakan panggilan API. Saat Anda menentukan tujuan API sebagai target aturan, EventBridge memanggil titik akhir HTTP untuk setiap peristiwa yang cocok dengan pola peristiwa yang ditentukan dalam aturan, lalu mengirimkan informasi peristiwa dengan permintaan tersebut. Dengan EventBridge, Anda dapat menggunakan metode HTTP apa pun kecuali CONNECT dan TRACE untuk permintaan tersebut. Metode HTTP yang paling umum digunakan adalah PUT dan POST. Anda juga dapat menggunakan pengubah masukan untuk menyesuaikan peristiwa dengan parameter pada parameter titik akhir HTTP spesifik. Untuk informasi selengkapnya, lihat Transformasi EventBridge masukan Amazon.

catatan

Tujuan API tidak mendukung tujuan pribadi, seperti titik akhir VPC antarmuka - termasuk API HTTPS pribadi di Virtual Private Clouds (VPC) menggunakan Jaringan pribadi dan Application Load Balancer dan antarmuka VPC endpoint.

Untuk informasi selengkapnya, lihat Menggunakan Amazon EventBridge dengan Titik Akhir VPC Antarmuka .

penting

EventBridge permintaan ke titik akhir tujuan API harus memiliki batas waktu eksekusi klien maksimum 5 detik. Jika titik akhir target membutuhkan waktu lebih dari 5 detik untuk merespons, EventBridge batas waktu permintaan. EventBridge percobaan ulang permintaan habis waktu hingga maksimum yang dikonfigurasi pada kebijakan coba ulang Anda. Secara default maksimal adalah 24 jam dan 185 kali. Setelah jumlah maksimum coba lagi, peristiwa dikirim ke antrean surat mati Anda jika Anda memilikinya. Jika tidak, peristiwa digagalkan.

Video berikut menunjukkan penggunaan tujuan API:

Buat tujuan API

Setiap tujuan API membutuhkan koneksi. Koneksi menentukan jenis otorisasi dan kredensi yang akan digunakan untuk mengotorisasi dengan titik akhir tujuan API. Anda dapat memilih koneksi yang ada, atau membuat koneksi pada saat yang sama saat Anda membuat tujuan API. Untuk informasi selengkapnya, lihat Koneksi untuk target titik akhir HTTP

Untuk membuat tujuan API menggunakan EventBridge konsol
  1. Masuk untuk AWS menggunakan akun yang memiliki izin untuk mengelola EventBridge dan membuka EventBridgekonsol.

  2. Di panel navigasi kiri, pilih Tujuan API.

  3. Gulir ke bawah ke tabel Tujuan API, dan kemudian pilih Buat tujuan API.

  4. Pada halaman Buat tujuan API, masukkan Nama untuk tujuan API. Anda dapat menggunakan hingga 64 karakter huruf besar atau huruf kecil, angka, titik (.), tanda hubung (-), atau garis bawah (_).

    Nama harus unik untuk akun Anda di Wilayah saat ini.

  5. Masukkan Deskripsi untuk tujuan API.

  6. Masukkan Titik akhir tujuan API untuk tujuan API. Titik akhir tujuan API adalah target titik akhir invokasi HTTP untuk peristiwa. Informasi otorisasi yang Anda sertakan dalam koneksi yang digunakan untuk tujuan API ini digunakan untuk mengotorisasi terhadap titik akhir ini. URL harus menggunakan HTTPS.

  7. Masukkan Metode HTTP untuk digunakan untuk menyambungkan ke Titik akhir tujuan API.

  8. (Opsional) Untuk bidang Batas tingkat permintaan per detik, masukkan jumlah maksimum invokasi per detik untuk mengirim ke titik akhir tujuan API.

    Batas tarif yang Anda tetapkan dapat memengaruhi cara EventBridge menyampaikan acara. Untuk informasi selengkapnya, lihat Bagaimana tingkat invokasi memengaruhi pengiriman peristiwa.

  9. Untuk Koneksi, lakukan salah satu langkah berikut ini:

    • Pilih Gunakan koneksi yang ada, dan kemudian pilih koneksi yang akan digunakan untuk tujuan API ini.

    • Pilih Buat koneksi baru, dan kemudian masukkan detail untuk koneksi yang akan dibuat. Untuk informasi selengkapnya, lihat Koneksi.

  10. Pilih Buat.

Membuat aturan yang mengirim peristiwa ke tujuan API

Setelah Anda membuat tujuan API, Anda dapat memilihnya sebagai target aturan. Untuk menggunakan tujuan API sebagai target, Anda harus menyediakan IAM role dengan izin yang benar. Untuk informasi selengkapnya, lihat Izin yang diperlukan EventBridge untuk mengakses target menggunakan peran IAM

Memilih tujuan API sebagai target adalah bagian dari pembuatan aturan.

Untuk membuat aturan yang mengirimkan peristiwa ke tujuan API menggunakan konsol
  1. Ikuti langkah-langkah dalam Membuat EventBridge aturan Amazon yang bereaksi terhadap peristiwa prosedur.

  2. Pada Pilih target langkahnya, saat diminta untuk memilih tujuan API sebagai tipe target:

    1. Pilih tujuan EventBridge API.

    2. Lakukan salah satu hal berikut ini:

      • Pilih Gunakan tujuan API yang ada dan pilih tujuan API yang ada

      • Pilih Buat tujuan API baru dan tentukan setelan yang diperlukan untuk menentukan tujuan API baru Anda.

        Untuk informasi selengkapnya tentang menentukan pengaturan yang diperlukan, lihatBuat tujuan API.

    3. (Opsional): Untuk menentukan parameter header untuk acara tersebut, di bawah Parameter Header pilih Tambahkan parameter header.

      Selanjutnya, tentukan kunci dan nilai untuk parameter header.

    4. (Opsional): Untuk menentukan parameter string kueri untuk acara tersebut, di bawah Parameter string kueri pilih Tambahkan parameter string kueri.

      Selanjutnya, tentukan kunci dan nilai untuk parameter string kueri.

  3. Selesaikan pembuatan aturan mengikuti langkah-langkah prosedur.

Peran tertaut layanan untuk tujuan API

Saat Anda membuat sambungan untuk tujuan API, peran yang ditautkan layanan bernama akan AWS ServiceRoleForAmazonEventBridgeApiDestinationsditambahkan ke akun Anda. EventBridge menggunakan peran terkait layanan untuk membuat dan menyimpan rahasia di Secrets Manager. Untuk memberikan izin yang diperlukan ke peran terkait layanan, EventBridge lampirkan AmazonEventBridgeApiDestinationsServiceRolePolicykebijakan ke peran tersebut. Kebijakan membatasi izin yang diberikan hanya kepada mereka yang diperlukan bagi peran untuk berinteraksi dengan rahasia untuk koneksi. Tidak ada izin lain yang disertakan, dan peran hanya dapat berinteraksi dengan koneksi di akun Anda untuk mengelola rahasia.

Kebijakan berikut adalahAmazonEventBridgeApiDestinationsServiceRolePolicy.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:CreateSecret", "secretsmanager:UpdateSecret", "secretsmanager:DescribeSecret", "secretsmanager:DeleteSecret", "secretsmanager:GetSecretValue", "secretsmanager:PutSecretValue" ], "Resource": "arn:aws:secretsmanager:*:*:secret:events!connection/*" } ] }

Untuk informasi selengkapnya tentang peran tertaut layanan, lihat Menggunakan peran tertaut layanan dalam dokumentasi IAM.

Peran AmazonEventBridgeApiDestinationsServiceRolePolicy terkait layanan didukung di wilayah berikut: AWS

  • AS Timur (N. Virginia)

  • AS Timur (Ohio)

  • AS Barat (California Utara)

  • AS Barat (Oregon)

  • Afrika (Cape Town)

  • Asia Pasifik (Hong Kong)

  • Asia Pasifik (Mumbai)

  • Asia Pasifik (Osaka)

  • Asia Pasifik (Seoul)

  • Asia Pasifik (Singapura)

  • Asia Pasifik (Sydney)

  • Asia Pasifik (Tokyo)

  • Kanada (Pusat)

  • Eropa (Frankfurt)

  • Eropa (Irlandia)

  • Eropa (London)

  • Eropa (Milan)

  • Eropa (Paris)

  • Eropa (Stockholm)

  • Amerika Selatan (Sao Paulo)

  • Tiongkok (Ningxia)

  • Tiongkok (Beijing)

Header dalam permintaan ke tujuan API

Bagian berikut merinci cara EventBridge menangani header HTTP dalam permintaan ke tujuan API.

Header yang disertakan dalam permintaan ke tujuan API

Selain header otorisasi yang ditentukan untuk koneksi yang digunakan untuk tujuan API, EventBridge menyertakan header berikut di setiap permintaan.

Kunci header Nilai header

User-Agent

Amazon//EventBridgeApiDestinations

Content-Type

Jika tidak ada nilai Content-Type kustom yang ditentukan, EventBridge sertakan nilai default berikut sebagai Content-Type:

application/json; charset=utf-8

Kisaran

bytes=0-1048575

Terima-Pengenkodean

gzip,mengempis

Koneksi

tutup

Panjang Konten

Header entitas yang menunjukkan ukuran bodi entitas, dalam byte, yang dikirim ke penerima.

Host

Header permintaan yang menentukan host dan nomor port server di mana permintaan sedang dikirim.

Header yang tidak dapat diganti dalam permintaan ke tujuan API

EventBridge tidak memungkinkan Anda untuk mengganti header berikut:

  • User-Agent

  • Kisaran

Header EventBridge menghapus dari permintaan ke tujuan API

EventBridge menghapus header berikut untuk semua permintaan tujuan API:

  • A-IM

  • Terima-Charset

  • Terima-Datetime

  • Terima-Pengenkodean

  • Cache-Control

  • Koneksi

  • Pengkodean Konten

  • Content-Length

  • Content-MD5

  • Tanggal

  • Harapkan

  • Diteruskan

  • Dari

  • Host

  • HTTP2-pengaturan

  • Jika-Pertandingan

  • Jika-Modifikasi-Sejak

  • Jika-Tidak Pertandingan

  • Jika-Rentang

  • Jika-Tidak Dimodifikasi-Sejak

  • Max-Maju

  • Asal

  • Pragma

  • Otorisasi Proksi

  • Kisaran

  • Perujuk

  • TE

  • Trailer

  • Transfer-Encoding

  • User-Agent

  • Peningkatan

  • Melalui

  • Peringatan

Kode kesalahan tujuan API

Saat EventBridge mencoba mengirimkan acara ke tujuan API dan terjadi kesalahan, EventBridge lakukan hal berikut:

  • Peristiwa yang terkait dengan kode kesalahan 409, 429, dan 5xx dicoba lagi.

  • Peristiwa yang berkaitan dengan kode kesalahan 1xx, 2xx, 3xx, dan 4xx (tidak termasuk 429) tidak dicoba lagi.

EventBridge Tujuan API membaca header respons HTTP standar Retry-After untuk mengetahui berapa lama menunggu sebelum membuat permintaan tindak lanjut. EventBridge memilih nilai yang lebih konservatif antara kebijakan coba ulang yang ditentukan dan header. Retry-After Jika Retry-After nilainya negatif, EventBridge berhenti mencoba kembali pengiriman untuk acara itu.

Bagaimana tingkat invokasi memengaruhi pengiriman peristiwa

Jika Anda menetapkan tingkat invokasi per detik untuk nilai yang jauh lebih rendah daripada jumlah invokasi yang dihasilkan, peristiwa tidak dapat dikirimkan dalam waktu 24 jam coba lagi untuk peristiwa. Sebagai contoh, jika Anda menetapkan tingkat invokasi ke 10 invokasi per detik, tetapi ribuan peristiwa per detik dihasilkan, Anda akan dengan cepat memiliki backlog peristiwa untuk mengirimkan yang melebihi 24 jam. Untuk memastikan bahwa tidak ada peristiwa yang hilang, atur antrean surat mati untuk mengirim peristiwa dengan invokasi yang gagal sehingga Anda dapat memproses peristiwa di lain waktu. Untuk informasi selengkapnya, lihat Menggunakan antrian surat mati untuk memproses peristiwa yang tidak terkirim.