Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengatur pemetaan data WebSocket APIs di API Gateway
Pemetaan data memungkinkan Anda memetakan data dari permintaan rute ke integrasi backend.
catatan
Pemetaan data untuk WebSocket APIs tidak didukung di. AWS Management Console Anda harus menggunakan AWS CLI, AWS CloudFormation, atau SDK untuk mengonfigurasi pemetaan data.
Petakan data permintaan rute ke parameter permintaan integrasi
Parameter permintaan integrasi dapat dipetakan dari parameter permintaan rute yang ditentukan, badan permintaan, contextatau stagevariabel, dan nilai statis.
Tabel berikut menunjukkan ekspresi pemetaan data permintaan integrasi. Dalam tabel,
adalah nama parameter permintaan rute dari jenis parameter yang diberikan. Itu harus cocok dengan ekspresi regulerPARAM_NAME
'^[a-zA-Z0-9._$-]+$]'
. JSONPath_EXPRESSION
adalah JSONPath ekspresi untuk bidang JSON dari badan permintaan.
Sumber data yang dipetakan | Ekspresi pemetaan |
---|---|
Minta string kueri (hanya didukung untuk $connect rute) |
route.request.querystring. |
Permintaan header (didukung hanya untuk $connect rute) |
route.request.header. |
String kueri permintaan multi-nilai (hanya didukung untuk $connect rute) |
route.request.multivaluequerystring. |
Header permintaan multi-nilai (hanya didukung untuk $connect rute) |
route.request.multivalueheader. |
Isi permintaan | route.request.body. |
Variabel tahap | stageVariables. |
Variabel konteks | context. yang harus menjadi salah satu variabel konteks yang didukung. |
Nilai statis | . STATIC_VALUE Ini adalah string literal dan harus diapit dalam tanda kutip tunggal. |
Contoh
AWS CLI Contoh berikut mengkonfigurasi pemetaan data. Untuk contoh AWS CloudFormation template, lihat websocket-data-mapping.yaml
.
Memetakan ConnectionId klien ke header dalam permintaan integrasi
Perintah update-integration berikut memetakan klien connectionId
ke connectionId
header dalam permintaan ke integrasi backend:
aws apigatewayv2 update-integration \ --integration-id abc123 \ --api-id a1b2c3d4 \ --request-parameters 'integration.request.header.connectionId'='context.connectionId'
Petakan parameter string kueri ke header dalam permintaan integrasi
Contoh berikut memetakan parameter string authToken
query ke authToken
header dalam permintaan integrasi.
-
Gunakan perintah update-route berikut untuk menambahkan parameter string
authToken
kueri ke parameter permintaan rute.aws apigatewayv2 update-route --route-id 0abcdef \ --api-id a1b2c3d4 \ --request-parameters '{"route.request.querystring.authToken": {"Required": false}}'
-
Gunakan perintah update-integration berikut untuk memetakan parameter string query ke
authToken
header dalam permintaan untuk integrasi backend.aws apigatewayv2 update-integration \ --integration-id abc123 \ --api-id a1b2c3d4 \ --request-parameters 'integration.request.header.authToken'='route.request.querystring.authToken'
-
(Opsional) Jika perlu, gunakan yang berikut ini delete-route-request-parameteruntuk menghapus parameter string
authToken
kueri dari parameter permintaan rute.aws apigatewayv2 delete-route-request-parameter \ --route-id 0abcdef \ --api-id a1b2c3d4 \ --request-parameter-key 'route.request.querystring.authToken'