Menyiapkan pemetaan data untuk API WebSocket - Amazon API Gateway

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

Menyiapkan pemetaan data untuk API WebSocket

Pemetaan data memungkinkan Anda memetakan data dari permintaan rute ke integrasi backend.

catatan

Pemetaan data untuk WebSocket API 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.

Dalam tabel berikut, PARAM_NAMEadalah nama parameter permintaan rute dari jenis parameter yang diberikan. Itu harus cocok dengan ekspresi reguler'^[a-zA-Z0-9._$-]+$]'. JsonPath_Expression adalah ekspresi JSONPath untuk bidang JSON dari badan permintaan.

Ekspresi pemetaan data permintaan integrasi
Sumber data yang dipetakan Ekspresi pemetaan
Minta string kueri (hanya didukung untuk $connect rute) route.request.querystring.PARAM_NAME
Permintaan header (didukung hanya untuk $connect rute) route.request.header.PARAM_NAME
String kueri permintaan multi-nilai (hanya didukung untuk $connect rute) route.request.multivaluequerystring.PARAM_NAME
Header permintaan multi-nilai (hanya didukung untuk $connect rute) route.request.multivalueheader.PARAM_NAME
Isi permintaan route.request.body.JSONPath_EXPRESSION
Variabel tahap stageVariables.VARIABLE_NAME
Variabel konteks context.VARIABLE_NAMEyang harus menjadi salah satu variabel konteks yang didukung.
Nilai statis 'STATIC_VALUE'. STATIC_VALUE 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

Contoh perintah berikut memetakan klien connectionId ke connectionId header dalam permintaan untuk 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 perintah berikut memetakan parameter string authToken query ke authToken header dalam permintaan integrasi.

Pertama, tambahkan 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}}'

Selanjutnya, petakan parameter string kueri ke authToken header dalam permintaan ke integrasi backend.

aws apigatewayv2 update-integration \ --integration-id abc123 \ --api-id a1b2c3d4 \ --request-parameters 'integration.request.header.authToken'='route.request.querystring.authToken'

Jika perlu, hapus 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'