Konsep Amazon API Gateway - APIGerbang Amazon

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

Konsep Amazon API Gateway

Bagian berikut menjelaskan konsep pengantar untuk menggunakan API Gateway.

APIGerbang

APIGateway adalah AWS layanan yang mendukung hal-hal berikut:

  • Membuat, menyebarkan, dan mengelola antarmuka pemrograman RESTfulaplikasi (API) untuk mengekspos HTTP endpoint backend, AWS Lambda fungsi, atau layanan lainnya. AWS

  • Membuat, menyebarkan, dan mengelola AWS Lambda fungsi WebSocketAPIuntuk mengekspos atau layanan lainnya AWS .

  • Memanggil API metode terbuka melalui frontend HTTP dan WebSocket endpoint.

APIGerbang REST API

Kumpulan HTTP sumber daya dan metode yang terintegrasi dengan HTTP endpoint backend, fungsi Lambda, atau layanan lainnya. AWS Anda dapat menyebarkan koleksi ini dalam satu atau lebih tahap. Biasanya, API sumber daya diatur dalam pohon sumber daya sesuai dengan logika aplikasi. Setiap API sumber daya dapat mengekspos satu atau lebih API metode yang memiliki HTTP kata kerja unik yang didukung oleh API Gateway. Untuk informasi selengkapnya, lihat Pilih antara REST APIs dan HTTP APIs.

APIGerbang HTTP API

Kumpulan rute dan metode yang terintegrasi dengan HTTP endpoint backend atau fungsi Lambda. Anda dapat menyebarkan koleksi ini dalam satu atau lebih tahap. Setiap rute dapat mengekspos satu atau lebih API metode yang memiliki HTTP kata kerja unik yang didukung oleh API Gateway. Untuk informasi selengkapnya, lihat Pilih antara REST APIs dan HTTP APIs.

APIGerbang WebSocket API

Kumpulan WebSocket rute dan kunci rute yang terintegrasi dengan titik HTTP akhir backend, fungsi Lambda, atau layanan lainnya. AWS Anda dapat menyebarkan koleksi ini dalam satu atau lebih tahap. APImetode dipanggil melalui WebSocket koneksi frontend yang dapat Anda kaitkan dengan nama domain kustom terdaftar.

APIpenyebaran

point-in-time Cuplikan dari API Gateway API Anda. Agar tersedia bagi klien untuk digunakan, penyebaran harus dikaitkan dengan satu atau lebih API tahapan.

APIpengembang

AWS Akun Anda yang memiliki penerapan API Gateway (misalnya, penyedia layanan yang juga mendukung akses terprogram).

Titik akhir API

Nama host untuk API in API Gateway yang disebarkan ke Wilayah tertentu. Nama host adalah dari formulir{api-id}.execute-api.{region}.amazonaws.com. Jenis API endpoint berikut didukung:

Kunci API

String alfanumerik yang digunakan API Gateway untuk mengidentifikasi pengembang aplikasi yang menggunakan atau. REST WebSocket API APIGateway dapat menghasilkan API kunci atas nama Anda, atau Anda dapat mengimpornya dari CSV file. Anda dapat menggunakan API kunci bersama dengan otorisasi Lambda atau paket penggunaan untuk mengontrol akses ke Anda. APIs

Lihat APItitik akhir.

APIpemilik

Lihat APIpengembang.

APIpanggung

Referensi logis ke status siklus hidup Anda API (misalnya, 'dev', 'prod', 'beta', 'v2'). APItahapan diidentifikasi dengan API ID dan nama panggung.

Pengembang aplikasi

Pembuat aplikasi yang mungkin atau mungkin tidak memiliki AWS akun dan berinteraksi dengan API yang Anda, API pengembang, telah gunakan. Pengembang aplikasi adalah pelanggan Anda. Pengembang aplikasi biasanya diidentifikasi oleh APIkunci.

Callback URL

Ketika klien baru terhubung melalui WebSocket koneksi, Anda dapat memanggil integrasi di API Gateway untuk menyimpan callback URL klien. Anda kemudian dapat menggunakan callback tersebut URL untuk mengirim pesan ke klien dari sistem backend.

Portal pengembang

Aplikasi yang memungkinkan pelanggan Anda untuk mendaftar, menemukan, dan berlangganan API produk Anda (paket penggunaan API Gateway), mengelola API kunci mereka, dan melihat metrik penggunaan mereka untuk AndaAPIs.

Titik akhir yang dioptimalkan tepi API

Nama host default dari API Gateway API yang disebarkan ke Wilayah tertentu saat menggunakan CloudFront distribusi untuk memfasilitasi akses klien biasanya dari seluruh AWS Wilayah. APIPermintaan dialihkan ke CloudFront Point of Presence (POP) terdekat, yang biasanya meningkatkan waktu koneksi untuk klien yang beragam secara geografis.

Lihat APItitik akhir.

Permintaan integrasi

Antarmuka internal WebSocket API rute atau REST API metode di API Gateway, di mana Anda memetakan isi permintaan rute atau parameter dan isi permintaan metode ke format yang diperlukan oleh backend.

Respon integrasi

Antarmuka internal WebSocket API rute atau REST API metode di API Gateway, tempat Anda memetakan kode status, header, dan payload yang diterima dari backend ke format respons yang dikembalikan ke aplikasi klien.

Template pemetaan

Skrip dalam Velocity Template Language (VTL) yang mengubah badan permintaan dari format data frontend ke format data backend, atau yang mengubah badan respons dari format data backend ke format data frontend. Template pemetaan dapat ditentukan dalam permintaan integrasi atau dalam respons integrasi. Mereka dapat mereferensikan data yang tersedia saat runtime sebagai variabel konteks dan tahap.

Pemetaan dapat sesederhana transformasi identitas yang melewati header atau badan melalui integrasi apa adanya dari klien ke backend untuk permintaan. Hal yang sama berlaku untuk respons, di mana muatan diteruskan dari backend ke klien.

Permintaan metode

Antarmuka publik dari suatu API metode di API Gateway yang mendefinisikan parameter dan isi yang harus dikirim oleh pengembang aplikasi dalam permintaan untuk mengakses backend melalui file. API

Metode respon

Antarmuka publik dari sebuah REST API yang mendefinisikan kode status, header, dan model tubuh yang diharapkan oleh pengembang aplikasi dalam tanggapan dari aplikasi. API

Integrasi tiruan

Dalam integrasi tiruan, API respons dihasilkan dari API Gateway secara langsung, tanpa perlu backend integrasi. Sebagai API pengembang, Anda memutuskan bagaimana API Gateway merespons permintaan integrasi tiruan. Untuk ini, Anda mengonfigurasi permintaan integrasi metode dan respons integrasi untuk mengaitkan respons dengan kode status tertentu.

Model

Skema data yang menentukan struktur data dari permintaan atau muatan respons. Sebuah model diperlukan untuk menghasilkan tipe yang kuat SDK dari sebuahAPI. Ini juga digunakan untuk memvalidasi muatan. Sebuah model nyaman untuk menghasilkan template pemetaan sampel untuk memulai pembuatan template pemetaan produksi. Meskipun berguna, model tidak diperlukan untuk membuat template pemetaan.

Pribadi API

Lihat APITitik akhir pribadi.

Titik API akhir pribadi

APITitik akhir yang diekspos melalui VPC titik akhir antarmuka dan memungkinkan klien mengakses API sumber daya pribadi dengan aman di dalam file. VPC Private APIs diisolasi dari internet publik, dan mereka hanya dapat diakses menggunakan VPC endpoint untuk API Gateway yang telah diberikan akses.

Integrasi pribadi

Jenis integrasi API Gateway untuk klien untuk mengakses sumber daya di dalam pelanggan VPC melalui REST API titik akhir pribadi tanpa mengekspos sumber daya ke internet publik.

Integrasi proxy

Konfigurasi integrasi API Gateway yang disederhanakan. Anda dapat mengatur integrasi proxy sebagai integrasi HTTP proxy atau integrasi proxy Lambda.

Untuk integrasi HTTP proxy, API Gateway meneruskan seluruh permintaan dan respons antara frontend dan HTTP backend. Untuk integrasi proxy Lambda, API Gateway mengirimkan seluruh permintaan sebagai input ke fungsi Lambda backend. APIGateway kemudian mengubah output fungsi Lambda menjadi respons frontend. HTTP

Dalam RESTAPIs, integrasi proxy paling sering digunakan dengan sumber daya proxy, yang diwakili oleh variabel jalur serakah (misalnya,{proxy+}) dikombinasikan dengan metode catch-allANY.

Buat cepat

Anda dapat menggunakan quick create untuk menyederhanakan pembuatan file HTTPAPI. Pembuatan cepat membuat API dengan Lambda atau HTTP integrasi, rute tangkapan semua default, dan tahap default yang dikonfigurasi untuk menerapkan perubahan secara otomatis. Untuk informasi selengkapnya, lihat Buat API HTTP dengan menggunakan AWS CLI.

Titik API akhir regional

Nama host dari sebuah API yang disebarkan ke Wilayah tertentu dan dimaksudkan untuk melayani klien, seperti EC2 instance, di Wilayah yang sama AWS . APIpermintaan ditargetkan langsung ke API Gateway khusus Wilayah API tanpa melalui distribusi apa pun CloudFront . Untuk permintaan In-Region, titik akhir Regional melewati perjalanan pulang pergi yang tidak perlu ke distribusi. CloudFront

Selain itu, Anda dapat menerapkan perutean berbasis latensi pada titik akhir Regional untuk menerapkan API ke beberapa Wilayah menggunakan konfigurasi API titik akhir Regional yang sama, menetapkan nama domain kustom yang sama untuk setiap penerapanAPI, dan mengonfigurasi DNS catatan berbasis latensi di Route 53 untuk merutekan permintaan klien ke Wilayah yang memiliki latensi terendah.

Lihat APItitik akhir.

Rute

WebSocket Rute di API Gateway digunakan untuk mengarahkan pesan masuk ke integrasi tertentu, seperti AWS Lambda fungsi, berdasarkan konten pesan. Saat Anda menentukan WebSocket API, Anda menentukan kunci rute dan backend integrasi. Kunci rute adalah atribut di badan pesan. Ketika kunci rute dicocokkan dalam pesan masuk, backend integrasi dipanggil.

Rute default juga dapat diatur untuk kunci rute yang tidak cocok atau untuk menentukan model proxy yang meneruskan pesan melalui apa adanya ke komponen backend yang melakukan perutean dan memproses permintaan.

Permintaan rute

Antarmuka publik WebSocket API metode di API Gateway yang mendefinisikan isi yang harus dikirim oleh pengembang aplikasi dalam permintaan untuk mengakses backend melalui file. API

Respon rute

Antarmuka publik dari sebuah WebSocket API yang mendefinisikan kode status, header, dan model tubuh yang diharapkan oleh pengembang aplikasi dari API Gateway.

Rencana penggunaan

Paket penggunaan memberi API klien terpilih akses ke satu atau lebih yang dikerahkan REST atau WebSocket APIs. Anda dapat menggunakan paket penggunaan untuk mengonfigurasi pembatasan dan batas kuota, yang diberlakukan pada kunci klien individual. API

WebSocket koneksi

APIGateway mempertahankan koneksi persisten antara klien dan API Gateway itu sendiri. Tidak ada koneksi persisten antara API Gateway dan integrasi backend seperti fungsi Lambda. Layanan backend dipanggil sesuai kebutuhan, berdasarkan konten pesan yang diterima dari klien.