Mengatur pemetaan data 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.

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, PARAM_NAME adalah nama parameter permintaan rute dari jenis parameter yang diberikan. Itu harus cocok dengan ekspresi reguler'^[a-zA-Z0-9._$-]+$]'. JSONPath_EXPRESSIONadalah 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.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_VALUEIni 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.

  1. 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}}'
  2. 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'
  3. (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'