Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Buat rute untuk WebSocket APIs di API Gateway

Mode fokus
Buat rute untuk WebSocket APIs di API Gateway - Amazon API Gateway

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

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

Di WebSocket API Anda, pesan JSON yang masuk diarahkan ke integrasi backend berdasarkan rute yang Anda konfigurasikan. (Pesan non-JSON diarahkan ke $default rute yang Anda konfigurasikan.)

Rute menyertakan kunci rute, yang merupakan nilai yang diharapkan setelah ekspresi pemilihan rute dievaluasi. routeSelectionExpressionIni adalah atribut yang didefinisikan pada tingkat API. Ini menentukan properti JSON yang diharapkan hadir dalam payload pesan. Untuk informasi selengkapnya tentang ekspresi pemilihan rute, lihatEkspresi pemilihan rute.

Misalnya, jika pesan JSON Anda berisi action properti dan Anda ingin melakukan tindakan berbeda berdasarkan properti ini, ekspresi pemilihan rute Anda mungkin${request.body.action}. Tabel routing Anda akan menentukan tindakan mana yang akan dilakukan dengan mencocokkan nilai action properti terhadap nilai kunci rute kustom yang telah Anda tentukan dalam tabel.

Ada tiga rute standar yang dapat digunakan:$connect,$disconnect, dan$default. Selain itu, Anda dapat membuat rute khusus.

  • API Gateway memanggil $connect rute saat koneksi persisten antara klien dan WebSocket API sedang dimulai.

  • API Gateway memanggil $disconnect rute saat klien atau server terputus dari API.

  • API Gateway memanggil rute kustom setelah ekspresi pemilihan rute dievaluasi terhadap pesan jika rute yang cocok ditemukan; kecocokan menentukan integrasi mana yang dipanggil.

  • API Gateway memanggil $default rute jika ekspresi pemilihan rute tidak dapat dievaluasi terhadap pesan atau jika tidak ditemukan rute yang cocok.

Ekspresi pemilihan rute

Ekspresi pemilihan rute dievaluasi saat layanan memilih rute yang akan diikuti untuk pesan masuk. Layanan menggunakan rute yang routeKey persis sama dengan nilai yang dievaluasi. Jika tidak ada yang cocok dan rute dengan kunci $default rute ada, rute itu dipilih. Jika tidak ada rute yang cocok dengan nilai yang dievaluasi dan tidak ada $default rute, layanan mengembalikan kesalahan. Untuk WebSocket berbasis APIs, ekspresi harus dari bentuk$request.body.{path_to_body_element}.

Misalnya, Anda mengirim pesan JSON berikut:

{ "service" : "chat", "action" : "join", "data" : { "room" : "room1234" } }

Anda mungkin ingin memilih perilaku API berdasarkan action properti. Dalam hal ini, Anda dapat menentukan ekspresi pemilihan rute berikut:

$request.body.action

Dalam contoh ini, request.body mengacu pada payload JSON pesan Anda, dan .action merupakan JSONPathekspresi. Anda dapat menggunakan ekspresi jalur JSON apa pun setelahnyarequest.body, tetapi perlu diingat bahwa hasilnya akan dirangkai. Misalnya, jika JSONPath ekspresi Anda mengembalikan array dari dua elemen, yang akan disajikan sebagai string"[item1, item2]". Untuk alasan ini, ini adalah praktik yang baik untuk membuat ekspresi Anda mengevaluasi nilai dan bukan array atau objek.

Anda cukup menggunakan nilai statis, atau Anda dapat menggunakan beberapa variabel. Tabel berikut menunjukkan contoh dan hasil evaluasi mereka terhadap muatan sebelumnya.

Ekspresi Hasil yang dievaluasi Deskripsi
$request.body.action join Variabel yang tidak dibungkus
${request.body.action} join Variabel yang dibungkus
${request.body.service}/${request.body.action} chat/join Beberapa variabel dengan nilai statis
${request.body.action}-${request.body.invalidPath} join- Jika JSONPath tidak ditemukan, variabel diselesaikan sebagai “”.
action action Nilai statis
\$default $default Nilai statis

Hasil evaluasi digunakan untuk menemukan rute. Jika ada rute dengan kunci rute yang cocok, rute dipilih untuk memproses pesan. Jika tidak ditemukan rute yang cocok, API Gateway mencoba menemukan $default rute jika tersedia. Jika $default rute tidak ditentukan, maka API Gateway mengembalikan kesalahan.

Mengatur rute untuk WebSocket API di API Gateway

Saat pertama kali membuat WebSocket API baru, ada tiga rute yang telah ditentukan:$connect,$disconnect, dan$default. Anda dapat membuatnya dengan menggunakan konsol, API, atau AWS CLI. Jika diinginkan, Anda dapat membuat rute khusus. Untuk informasi selengkapnya, lihat Ikhtisar WebSocket APIs di API Gateway.

catatan

Di CLI, Anda dapat membuat rute sebelum atau setelah Anda membuat integrasi, dan Anda dapat menggunakan kembali integrasi yang sama untuk beberapa rute.

Membuat rute menggunakan konsol API Gateway

Untuk membuat rute menggunakan konsol API Gateway
  1. Masuk ke konsol API Gateway, pilih API, dan pilih Rute.

  2. Pilih Buat rute

  3. Untuk tombol Rute, masukkan nama kunci rute. Anda dapat membuat rute yang telah ditentukan ($connect,$disconnect, dan$default), atau rute khusus.

    catatan

    Saat Anda membuat rute khusus, jangan gunakan $ awalan dalam nama kunci rute. Awalan ini dicadangkan untuk rute yang telah ditentukan sebelumnya.

  4. Pilih dan konfigurasikan jenis integrasi untuk rute. Untuk informasi selengkapnya, lihat Menyiapkan permintaan integrasi WebSocket API menggunakan konsol API Gateway.

Buat rute menggunakan AWS CLI

Perintah create-route berikut membuat rute:

aws apigatewayv2 --region us-east-1 create-route --api-id aabbccddee --route-key $default

Outputnya akan terlihat seperti berikut:

{ "ApiKeyRequired": false, "AuthorizationType": "NONE", "RouteKey": "$default", "RouteId": "1122334" }

Tentukan pengaturan permintaan rute untuk $connect

Saat Anda menyiapkan $connect rute untuk API Anda, pengaturan opsional berikut tersedia untuk mengaktifkan otorisasi API Anda. Untuk informasi selengkapnya, lihat $connectRute.

  • Otorisasi: Jika tidak diperlukan otorisasi, Anda dapat menentukan. NONE Jika tidak, Anda dapat menentukan:

    • AWS_IAMuntuk menggunakan kebijakan AWS IAM standar untuk mengontrol akses ke API Anda.

    • CUSTOMuntuk menerapkan otorisasi untuk API dengan menentukan fungsi otorisasi Lambda yang telah Anda buat sebelumnya. Authorizer dapat berada di akun Anda sendiri atau AWS akun lain AWS . Untuk informasi selengkapnya tentang otorisasi Lambda, lihat. Gunakan otorisasi API Gateway Lambda

      catatan

      Di konsol API Gateway, CUSTOM pengaturan hanya terlihat setelah Anda menyiapkan fungsi otorisasi seperti yang dijelaskan dalamKonfigurasikan otorisasi Lambda (konsol).

    penting

    Pengaturan Otorisasi diterapkan ke seluruh API, bukan hanya $connect rute. $connectRute melindungi rute lain, karena dipanggil pada setiap koneksi.

  • Kunci API diperlukan: Anda dapat secara opsional meminta kunci API untuk $connect rute API. Anda dapat menggunakan kunci API bersama dengan rencana penggunaan untuk mengontrol dan melacak akses ke Anda APIs. Untuk informasi selengkapnya, lihat Paket penggunaan dan kunci API untuk REST APIs di API Gateway.

Siapkan permintaan $connect rute menggunakan konsol API Gateway

Untuk menyiapkan permintaan $connect rute WebSocket API menggunakan konsol API Gateway:

  1. Masuk ke konsol API Gateway, pilih API, dan pilih Rute.

  2. Di bawah Rute$connect, pilih, atau buat $connect rute dengan mengikutiMembuat rute menggunakan konsol API Gateway.

  3. Di bagian Pengaturan permintaan rute, pilih Edit.

  4. Untuk Otorisasi, pilih jenis otorisasi.

  5. Untuk mewajibkan API untuk $connect rute tersebut, pilih Memerlukan kunci API.

  6. Pilih Simpan perubahan.

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.