Contoh bagaimana API Gateway mengevaluasi aturan perutean - Amazon API Gateway

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

Contoh bagaimana API Gateway mengevaluasi aturan perutean

Bagian berikut menunjukkan empat contoh bagaimana API Gateway mengevaluasi aturan routing dan pemetaan API.

Contoh 1: Aturan perutean saja

Dalam contoh ini, nama domain khusus https://petstore.example.com memiliki mode perutean yang disetel ke ROUTING_RULE_ONLY dan memiliki aturan dan prioritas perutean berikut.

ID aturan Prioritas Ketentuan Tindakan

abc123

10

Jika permintaan berisi header: Hello:World

Target API 1

zzz000

50

Jika permintaan berisi header: Accept:image/webp dan Pet:Dog-* dan jika jalur dasar berisi PetStoreShopper

Target API 2

efg456

100

Tidak ada

Target API 3

Tabel berikut menunjukkan bagaimana API Gateway menerapkan aturan perutean sebelumnya ke permintaan contoh.

Permintaan API yang dipilih Penjelasan

https://petstore.example.com -h "Hello:World"

Target API 1

Permintaan cocok dengan aturan abc123 routing.

https://petstore.example.com/PetStoreShopper -h "Hello:World", "Pet:Dog-Bella", "Accept:image/webp"

Target API 1

API Gateway mengevaluasi semua aturan perutean dalam urutan prioritas. Aturan perutean abc123 memiliki prioritas pertama dan kondisinya cocok, sehingga API Gateway memanggil Target API 1.

Meskipun kondisi permintaan juga cocok dengan aturan peruteanzzz000, API Gateway tidak mengevaluasi aturan perutean lainnya setelah membuat kecocokan.

https://petstore.example.com/PetStoreShopper -h "Pet:Dog-Bella", "Accept:image/webp"

Target API 2

Permintaan cocok dengan aturan zzz000 routing. Ini adalah pertandingan karena itu Pet:Dog-Bella adalah string yang cocok untuk Pet:Dog-*

https://petstore.example.com/PetStoreShopper -h "Pet:Dog-Bella"

Target API 3

Permintaan tidak cocok dengan aturan abc123 routing. Permintaan tidak cocok dengan aturan perutean zzz000 karena semua header yang diperlukan tidak ada. Aturan prioritas berikutnya cocok dengan semua permintaan yang masuk, jadi API Gateway memanggil Target API 3.

Contoh 2: Aturan perutean dan pemetaan API

Dalam contoh ini, nama domain khusus https://petstore.diagram.example.com memiliki mode perutean yang disetel ke ROUTING_RULE_THEN_API_MAPPING dan memiliki aturan perutean dan pemetaan API berikut.

ID aturan Prioritas Ketentuan Tindakan

abc123

1

Jika permintaan basis berisi pets

Memanggil Prod tahap PetStore API.

000zzz

5

Jika permintaan berisi header:Cookie: *ux=beta* dan dan jika jalur dasar berisi /refunds

Memanggil Beta tahap Refunds API.

Tabel berikut menunjukkan pemetaan API untuk. https://petstore.backup.example.com

Pemetaan API API yang dipilih

/refunds

Memanggil Prod tahap Refunds API.

(none)

Memanggil Prod tahap Search API.

Diagram berikut menunjukkan bagaimana API Gateway menerapkan aturan perutean sebelumnya dan pemetaan API ke permintaan contoh. Contoh permintaan dirangkum dalam tabel setelah diagram ini.

Diagram bagaimana API Gateway menerapkan aturan perutean dan pemetaan API sebelumnya.

Tabel berikut menunjukkan bagaimana API Gateway menerapkan aturan perutean sebelumnya dan pemetaan API ke permintaan contoh.

Permintaan API yang dipilih Penjelasan

https://petstore.diagram.com/pets

ProdTahap PetStore API.

Permintaan cocok dengan aturan abc123 perutean.

https://petstore.diagram.example.com/refunds -h "Cookie:lang=en-us;ux=beta"

BetaTahap Refunds API.

Permintaan cocok dengan aturan 000zzz perutean. CookieHeader berisi *contains* kecocokan yang benar dan pencocokan jalur dasar untuk kondisi ini.

https://petstore.diagram.example.com/refunds

ProdTahap Refunds API.

Permintaan tidak memiliki header yang diperlukan untuk mencocokkan aturan perutean. zzz000 Jika API Gateway tidak berhasil mencocokkan aturan perutean, itu akan kembali ke pemetaan API. API Gateway dapat memetakan jalur dasar ke Prod tahap Refunds API.

https://petstore.diagram.example.com/

ProdTahap Search API.

Permintaan mencocokkan pemetaan API dengan jalur (none) kosong.

Contoh 3: Aturan perutean dan pemetaan API dengan beberapa level

Dalam contoh ini, nama domain khusus https://petstore.backup.example.com memiliki mode perutean yang disetel ke ROUTING_RULE_THEN_API_MAPPING dan memiliki aturan perutean dan pemetaan API berikut.

Tabel berikut menunjukkan aturan routing untukhttps://petstore.backup.example.com.

ID aturan Prioritas Ketentuan Tindakan

abc123

10

Jika permintaan berisi header: Hello:World

Target API 1

000zzz

50

Jika permintaan berisi header:Accept: image/webp dan Pet:Dog-* dan jika jalur dasar berisi PetStoreShopper

Target API 2

Tabel berikut menunjukkan pemetaan API untuk. https://petstore.backup.example.com

Pemetaan API API yang dipilih

PetStoreShopper

Target API 3

PetStoreShopper/cats

Target API 4

Tabel berikut menunjukkan bagaimana API Gateway menerapkan aturan perutean sebelumnya dan pemetaan API ke permintaan contoh.

Permintaan API yang dipilih Penjelasan

https://petstore.example.com/PetStoreShopper -h "Accept:image/webp", "Pet:Cats"

Target API 3

Permintaan tidak memiliki header yang diperlukan untuk mencocokkan aturan perutean. zzz000 Jika API Gateway tidak berhasil mencocokkan aturan perutean, itu akan kembali ke pemetaan API. API Gateway dapat memetakan jalur dasar ke Target API 3.

https://petstore.example.com/PetStoreShopper/cats -h "Hello:World"

Target API 1

Permintaan cocok dengan aturan abc123 perutean. Jika mode perutean disetel keROUTING_RULE_THEN_API_MAPPING, aturan perutean selalu diprioritaskan daripada pemetaan API.

https://petstore.example.com/Admin -h "Pet:Dog-Bella"

Tidak ada

Permintaan tidak cocok dengan aturan perutean atau pemetaan API apa pun. Karena tidak ada aturan perutean default, API Gateway menolak panggilan dan mengirimkan kode status kepada 403 Forbidden pemanggil.

Contoh 4: Aturan perutean untuk nama domain wildcard

Dalam contoh ini, nama domain kustom https://*.example.com adalah nama domain wildcard. Wildcard mendukung semua subdomain yang merutekan kembali ke domain yang sama. Contoh aturan perutean berikut mengubah perilaku ini untuk memungkinkan subdomain merutekan ke target yang berbeda APIs dengan menggunakan header. Host

Tabel berikut menunjukkan aturan routing untukhttps://*.example.com.

ID aturan Prioritas Ketentuan Tindakan

abc123

10

Jika permintaan berisi header: Host:a.example.com

Target API 1

000zzz

50

Jika permintaan berisi header: Host:b.example.com

Target API 2

efg456

500

Tidak ada

Target API 3

Tabel berikut menunjukkan bagaimana API Gateway menerapkan aturan perutean sebelumnya ke permintaan contoh.

Permintaan API yang dipilih Penjelasan

https://a.example.com

Target API 1

HostHeader adalaha.example.com. Permintaan ini cocok dengan aturan abc123 routing.

https://b.example.com

Target API 2

HostHeader adalahb.example.com. Permintaan ini cocok dengan aturan 000zzz routing.

https://testing.example.com

Target API 3

Ini cocok dengan aturan perutean catch-all. efg456