

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

# WebSocket Referensi template pemetaan API untuk API Gateway
<a name="apigateway-websocket-api-mapping-template-reference"></a>

Bagian ini merangkum kumpulan variabel yang saat ini didukung WebSocket APIs di API Gateway.


| Parameter | Deskripsi | 
| --- | --- | 
| \$1context.connectionId |  ID unik untuk koneksi yang dapat digunakan untuk membuat callback ke klien.  | 
| \$1context.connectedAt |  Waktu koneksi yang diformat [Epoch](https://en.wikipedia.org/wiki/Unix_time).  | 
| \$1context.domainName |  Nama domain untuk WebSocket API. Ini dapat digunakan untuk membuat callback ke klien (bukan nilai hard-code).  | 
| \$1context.eventType |  Jenis acara:`CONNECT`,`MESSAGE`, atau`DISCONNECT`.  | 
| \$1context.messageId |  ID sisi server unik untuk pesan. Hanya tersedia ketika `$context.eventType` ada`MESSAGE`.  | 
| \$1context.routeKey |  Kunci rute yang dipilih.  | 
| \$1context.requestId |  Sama seperti`$context.extendedRequestId`.  | 
| \$1context.extendedRequestId | ID yang dibuat secara otomatis untuk panggilan API, yang berisi informasi yang lebih berguna untuk debugging/pemecahan masalah. | 
| \$1context.apiId |  API Gateway identifier ditetapkan ke API Anda.  | 
| \$1context.authorizer.principalId |  Identifikasi pengguna utama yang terkait dengan token yang dikirim oleh klien dan dikembalikan dari fungsi Lambda Lambda API Gateway (sebelumnya dikenal sebagai otorisasi khusus).  | 
| \$1context.authorizer.property |  Nilai stringifikasi dari pasangan nilai kunci `context` peta yang ditentukan dikembalikan dari fungsi otorisasi API Gateway Lambda. Misalnya, jika otorisasi mengembalikan `context` peta berikut:  <pre>"context" : {<br />  "key": "value",<br />  "numKey": 1,<br />  "boolKey": true<br />}</pre> memanggil `$context.authorizer.key` mengembalikan `"value"` string, memanggil `$context.authorizer.numKey` mengembalikan `"1"` string, dan memanggil `$context.authorizer.boolKey` mengembalikan `"true"` string.  | 
| \$1context.error.messageString | Nilai yang dikutip dari\$1context.error.message, yaitu"\$1context.error.message". | 
| \$1context.error.validationErrorString |  Sebuah string yang berisi pesan kesalahan validasi rinci.  | 
| \$1context.identity.accountId |  ID AWS akun yang terkait dengan permintaan.  | 
| \$1context.identity.apiKey |  Kunci pemilik API yang terkait dengan permintaan API berkemampuan kunci.  | 
| \$1context.identity.apiKeyId | ID kunci API yang terkait dengan permintaan API berkemampuan kunci | 
| \$1context.identity.caller |  Pengidentifikasi utama penelepon yang membuat permintaan.  | 
| \$1context.identity.cognitoAuthenticationProvider |  Daftar dipisahkan koma dari semua penyedia otentikasi Amazon Cognito yang digunakan oleh penelepon yang membuat permintaan. Hanya tersedia jika permintaan ditandatangani dengan kredenal Amazon Cognito.  Misalnya, untuk identitas dari kumpulan pengguna Amazon Cognito, `cognito-idp. region.amazonaws.com/user_pool_id,cognito-idp.region.amazonaws.com/user_pool_id:CognitoSignIn:token subject claim` *Untuk informasi tentang penyedia autentikasi Amazon Cognito yang tersedia, lihat [Menggunakan Identitas Federasi di Panduan Pengembang](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-identity.html) Amazon Cognito.* | 
| \$1context.identity.cognitoAuthenticationType |  Jenis otentikasi Amazon Cognito dari penelepon yang membuat permintaan. Hanya tersedia jika permintaan ditandatangani dengan kredenal Amazon Cognito. Nilai yang mungkin termasuk `authenticated` untuk identitas yang diautentikasi dan `unauthenticated` untuk identitas yang tidak diautentikasi. | 
| \$1context.identity.cognitoIdentityId |  ID identitas Amazon Cognito dari penelepon yang membuat permintaan. Hanya tersedia jika permintaan ditandatangani dengan kredenal Amazon Cognito.  | 
| \$1context.identity.cognitoIdentityPoolId |  ID kumpulan identitas Amazon Cognito dari penelepon yang membuat permintaan. Hanya tersedia jika permintaan ditandatangani dengan kredenal Amazon Cognito.  | 
| \$1context.identity.sourceIp |  Alamat IP sumber koneksi TCP langsung membuat permintaan ke titik akhir API Gateway.  | 
| \$1context.identity.user |  Pengidentifikasi utama pengguna yang membuat permintaan.  | 
| \$1context.identity.userAgent |  Agen Pengguna pemanggil API.  | 
| \$1context.identity.userArn |  Nama Sumber Daya Amazon (ARN) dari pengguna efektif yang diidentifikasi setelah otentikasi.  | 
| \$1context.requestTime | Waktu permintaan yang diformat [CLF](https://httpd.apache.org/docs/current/logs.html#common) (). dd/MMM/yyyy:HH:mm:ss \$1-hhmm | 
| \$1context.requestTimeEpoch | Waktu permintaan yang diformat [Epoch](https://en.wikipedia.org/wiki/Unix_time), dalam milidetik. | 
| \$1context.stage |  Tahap penerapan panggilan API (misalnya, Beta atau Prod).  | 
| \$1context.status |  Status respons.  | 
| \$1input.body | Mengembalikan payload mentah sebagai string. | 
| \$1input.json(x) | Fungsi ini mengevaluasi JSONPath ekspresi dan mengembalikan hasil sebagai string JSON. Misalnya, `$input.json('$.pets')` akan mengembalikan string JSON yang mewakili struktur hewan peliharaan. Untuk informasi selengkapnya tentang JSONPath, lihat [JSONPath](https://goessner.net/articles/JsonPath/)atau [JSONPath untuk Java](https://github.com/json-path/JsonPath). | 
| \$1input.path(x) | Mengambil JSONPath ekspresi string (`x`) dan mengembalikan representasi objek JSON dari hasil. Ini memungkinkan Anda untuk mengakses dan memanipulasi elemen payload secara native di [Apache Velocity Template](https://velocity.apache.org/engine/devel/vtl-reference.html) Language (VTL). Misalnya, jika ekspresi `$input.path('$.pets')` mengembalikan objek seperti ini: <pre>[<br />  { <br />    "id": 1, <br />    "type": "dog", <br />    "price": 249.99 <br />  }, <br />  { <br />    "id": 2, <br />    "type": "cat", <br />    "price": 124.99 <br />  }, <br />  { <br />    "id": 3, <br />    "type": "fish", <br />    "price": 0.99 <br />  } <br />]</pre> `$input.path('$.pets').count()`akan kembali`"3"`. Untuk informasi selengkapnya tentang JSONPath, lihat [JSONPath](http://goessner.net/articles/JsonPath/)atau [JSONPath untuk Java](https://github.com/jayway/JsonPath). | 
| \$1stageVariables.<variable\$1name> |  *<variable\$1name>*merupakan nama variabel tahap.  | 
| \$1stageVariables['<variable\$1name>'] |  *<variable\$1name>*mewakili setiap nama variabel tahap.  | 
| \$1\$1stageVariables['<variable\$1name>']\$1 |  *<variable\$1name>*mewakili setiap nama variabel tahap.  | 
| \$1util.escapeJavaScript() |  Melarikan diri dari karakter dalam string menggunakan aturan JavaScript string.  Fungsi ini akan mengubah tanda kutip tunggal biasa (`'`) menjadi yang keluar (`\'`). Namun, tanda kutip tunggal yang lolos tidak valid di JSON. Jadi, ketika output dari fungsi ini digunakan dalam properti JSON, Anda harus mengubah tanda kutip tunggal yang diloloskan (`\'`) kembali ke tanda kutip tunggal biasa (`'`). Ini ditunjukkan dalam contoh berikut:  <pre> $util.escapeJavaScript(data).replaceAll("\\'","'")</pre>   | 
| \$1util.parseJson() |   Mengambil “stringified” JSON dan mengembalikan representasi objek dari hasilnya. Anda dapat menggunakan hasil dari fungsi ini untuk mengakses dan memanipulasi elemen payload secara native di Apache Velocity Template Language (VTL). Misalnya, jika Anda memiliki muatan berikut:  <pre>{"errorMessage":"{\"key1\":\"var1\",\"key2\":{\"arr\":[1,2,3]}}"}</pre>  dan gunakan template pemetaan berikut  <pre>#set ($errorMessageObj = $util.parseJson($input.path('$.errorMessage')))<br />{<br />   "errorMessageObjKey2ArrVal" : $errorMessageObj.key2.arr[0]<br />}<br /></pre> Anda akan mendapatkan output sebagai berikut: <pre>{<br />   "errorMessageObjKey2ArrVal" : 1<br />}<br /></pre>  | 
| \$1util.urlEncode() | Mengkonversi string ke dalam format “aplikasi/x-www-form-urlencoded”. | 
| \$1util.urlDecode() | Mendekode string “aplikasi/x-www-form-urlencoded”. | 
| \$1util.base64Encode() | Mengkodekan data ke dalam string yang dikodekan base64. | 
| \$1util.base64Decode() | Mendekode data dari string yang dikodekan base64. | 