Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat ulang pemetaan API menggunakan aturan perutean
Anda dapat membuat ulang pemetaan API menggunakan aturan perutean. Untuk membuat ulang pemetaan API, pastikan untuk mengaktifkan striping jalur dasar. Ini mempertahankan perilaku pemetaan API. Untuk informasi selengkapnya, lihat Lepaskan jalur dasar dengan kondisi jalur dasar.
Tutorial berikut menunjukkan cara membuat ulang pemetaan API https://
sebagai aturan perutean dan cara memperbarui log akses Anda untuk mencatat aturan perutean ID API Gateway yang digunakan untuk mengirim lalu lintas ke API Anda.api.example.com
/orders/v2/items/categories/5
- AWS Management Console
-
Untuk mengatur mode perutean ke ROUTING_RULE_THEN_ API_MAPPING
Masuk ke konsol API Gateway di https://console.aws.amazon.com/apigateway
. Pilih Nama domain khusus dari panel navigasi utama.
-
Pilih nama domain kustom Anda.
-
Untuk detail Domain, pilih Edit.
-
Untuk mode Routing, pilih API_MAPPINGROUTING_RULE_THEN_.
-
Pilih Simpan.
Setelah Anda mengatur mode routing, Anda membuat aturan routing.
Untuk membuat aturan routing
-
Pada tab Routing details, pilih Add routing rule.
-
Pilih Tambahkan kondisi baru dan kemudian pilih Path.
-
Untuk Path, masuk
orders/v2/items/categories/5
. -
Untuk jalur dasar Strip, pilih Aktif.
Untuk API Target, pilih API target Anda.
Untuk tahap Target, pilih tahap target Anda.
-
Pilih Berikutnya.
-
Untuk prioritas, masukkan prioritas.
Bahkan jika Anda mempertahankan pemetaan API yang ada, API Gateway akan selalu menggunakan aturan perutean baru karena aturan perutean selalu diprioritaskan daripada pemetaan API.
Pilih Simpan perubahan.
Setelah Anda membuat aturan perutean, perbarui format log akses untuk tahap Anda atau buat log baru untuk mengonfirmasi bahwa API Gateway menggunakan aturan perutean Anda untuk mengirim lalu lintas ke API Anda.
Untuk memperbarui log akses Anda
Masuk ke konsol API Gateway di https://console.aws.amazon.com/apigateway
. Pilih API Anda.
Di panel navigasi utama, pilih Tahapan.
Untuk Log dan penelusuran, pilih Edit.
Jika Anda tidak memiliki grup log, lihatSiapkan CloudWatch logging untuk REST APIs di API Gateway.
Tambahkan
$context.customDomain.routingRuleIdMatched
ke format log Anda.Grup log ini mencatat ID aturan perutean yang digunakan API Gateway untuk mengirim lalu lintas ke API Anda. Untuk informasi selengkapnya, lihat Saya tidak tahu bagaimana API Gateway mengirim lalu lintas ke saya APIs.
Pilih Simpan.
Setelah memperbarui log akses, panggil nama domain kustom Anda. Berikut ini adalah contoh perintah curl untuk memanggil nama domain kustom
https://
dengan jalur dasar.api.example.com
orders/v2/items/categories/5
curl "https://
api.example.com
/orders/v2/items/categories/5"Setelah Anda berhasil memanggil nama domain kustom Anda, konfirmasikan bahwa CloudWatch Log menunjukkan.
routingRuleIdMatched
Untuk mempelajari cara menggunakan konsol CloudWatch Log untuk melihat grup log, lihatMelihat peristiwa log API Gateway di CloudWatch konsol. - AWS CLI
-
-
Gunakan update-domain-nameperintah berikut untuk memperbarui nama domain
untuk menggunakan modeapi.example.com
ROUTING_RULE_THEN_API_MAPPING
routing.aws apigatewayv2 update-domain-name \ --domain-name '
api.example.com
' \ --routing-mode ROUTING_RULE_THEN_API_MAPPING -
Gunakan create-routing-ruleperintah berikut untuk membuat aturan routing baru untuk membuat ulang pemetaan API.
https://
api.example.com
/orders/v2/items/categories/5aws apigatewayv2 create-routing-rule \ --domain-name '
api.example.com
' \ --priority 50 \ --conditions '[ { "MatchBasePaths": { "AnyOf": [ "orders/v2/items/categories/5" ] } } ]' \ --actions '[ { "InvokeApi": { "ApiId": "a1b2c3", "Stage": "prod", "StripBasePath": true } } ]' -
Gunakan perintah update-stage berikut untuk memperbarui format log akses untuk menyertakan variabel.
$context.customDomain.routingRuleIdMatched
Variabel ini mencatat ID aturan perutean yang digunakan API Gateway untuk mengirim lalu lintas ke API Anda. Anda menggunakan log ini untuk mengonfirmasi bahwa API Gateway menggunakan aturan perutean Anda untuk mengirim lalu lintas ke API Anda. Untuk informasi selengkapnya, lihat Saya tidak tahu bagaimana API Gateway mengirim lalu lintas ke saya APIs.aws apigateway update-stage \ --rest-api-id
a1bc2c3
\ --stage-name prod \ --patch-operations "op=replace,path=/accessLogSettings/format,value='\$context.path \$context.customDomain.routingRuleIdMatched \$context.requestId \$context.extendedRequestId'"Jika Anda tidak memiliki grup log, lihatSiapkan CloudWatch logging untuk REST APIs di API Gateway.
-
Gunakan contoh perintah curl berikut untuk memanggil nama domain kustom Anda dengan jalur dasar.
orders/v2/items/categories/5
curl "https://
api.example.com
/orders/v2/items/categories/5 -
Gunakan filter-log-eventsperintah berikut untuk mendapatkan peristiwa log dari grup log
access-log-group-orders
yang berisi IDabc123
aturan routing.aws logs filter-log-events --log-group-name access-log-group-orders --filter-pattern abc123
Ini mengonfirmasi bahwa API Gateway menggunakan aturan perutean untuk mengirim lalu lintas ke API Anda.
-