

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
<a name="websocket-api-data-mapping"></a>

*Pemetaan data* memungkinkan Anda memetakan data dari [permintaan rute ke integrasi](api-gateway-basic-concept.md#apigateway-definition-route-request) backend.

**catatan**  
Pemetaan data untuk WebSocket APIs tidak didukung di. Konsol Manajemen AWS Anda harus menggunakan AWS CLI, AWS CloudFormation, atau SDK untuk mengonfigurasi pemetaan data.

**Topics**
+ [Petakan data permintaan rute ke parameter permintaan integrasi](#websocket-mapping-request-parameters)
+ [Contoh](#websocket-data-mapping-examples)

## Petakan data permintaan rute ke parameter permintaan integrasi
<a name="websocket-mapping-request-parameters"></a>

Parameter permintaan integrasi dapat dipetakan dari parameter permintaan rute yang ditentukan, badan permintaan, [`context`atau [`stage`](api-gateway-mapping-template-reference.md#stagevariables-template-reference)](api-gateway-mapping-template-reference.md#context-variable-reference)variabel, 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\$1EXPRESSION*adalah JSONPath ekspresi untuk bidang JSON dari badan permintaan.


| Sumber data yang dipetakan | Ekspresi pemetaan | 
| --- | --- | 
| Minta string kueri (hanya didukung untuk \$1connect rute) | route.request.querystring.PARAM\$1NAME | 
| Permintaan header (didukung hanya untuk \$1connect rute) | route.request.header.PARAM\$1NAME | 
| String kueri permintaan multi-nilai (hanya didukung untuk \$1connect rute) | route.request.multivaluequerystring.PARAM\$1NAME | 
| Header permintaan multi-nilai (hanya didukung untuk \$1connect rute) | route.request.multivalueheader.PARAM\$1NAME | 
| Isi permintaan | route.request.body.JSONPath\$1EXPRESSION | 
| Variabel tahap | stageVariables.VARIABLE\$1NAME | 
| Variabel konteks | context.VARIABLE\$1NAMEyang harus menjadi salah satu [variabel konteks yang didukung](api-gateway-mapping-template-reference.md#context-variable-reference). | 
| Nilai statis | 'STATIC\$1VALUE'. STATIC\$1VALUEIni adalah string literal dan harus diapit dalam tanda kutip tunggal. | 

Saat Anda membuat pemetaan data, gunakan AWS CLI pastikan untuk mengikuti format yang benar untuk menggunakan literal dengan string di. AWS CLI*Untuk informasi selengkapnya, lihat [Menggunakan tanda kutip dan literal dengan string AWS CLI di Panduan](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-quoting-strings.html) Pengguna.AWS Command Line Interface *

## Contoh
<a name="websocket-data-mapping-examples"></a>

 AWS CLI Contoh berikut mengkonfigurasi pemetaan data. Untuk contoh CloudFormation template, lihat [samples/websocket-data-mapping.zip](samples/websocket-data-mapping.zip).

### Memetakan ConnectionId klien ke header dalam permintaan integrasi
<a name="websocket-data-mapping-examples.connectionId"></a>

Perintah [update-integration](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/update-integration.html) 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
<a name="websocket-data-mapping-examples.querystring"></a>

Contoh berikut memetakan parameter string `authToken` query ke `authToken` header dalam permintaan integrasi.

1. Gunakan perintah [update-route](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/update-route.html) 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}}'
   ```

1.  Gunakan perintah [update-integration](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/update-integration.html) 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'
   ```

1. (Opsional) Jika perlu, gunakan yang berikut ini [delete-route-request-parameter](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/delete-route-request-parameter.html)untuk 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'
   ```