

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

# Metode pembantu untuk penyimpanan nilai kunci
<a name="functions-custom-methods"></a>

**catatan**  
Panggilan metode pembantu penyimpanan nilai kunci dari CloudFront Fungsi tidak memicu peristiwa AWS CloudTrail data. Peristiwa ini tidak dicatat dalam riwayat CloudTrail peristiwa. Untuk informasi selengkapnya, lihat [Pencatatan panggilan CloudFront API Amazon menggunakan AWS CloudTrail](logging_using_cloudtrail.md).

Bagian ini berlaku jika Anda menggunakan [CloudFront Key Value Store](kvs-with-functions.md) untuk menyertakan nilai kunci dalam fungsi yang Anda buat. CloudFront Fungsi memiliki modul yang menyediakan tiga metode pembantu untuk membaca nilai dari penyimpanan nilai kunci.

Untuk menggunakan modul ini dalam kode fungsi, pastikan bahwa Anda telah [mengaitkan penyimpanan nilai kunci](kvs-with-functions-associate.md) dengan fungsi tersebut. 

Selanjutnya, sertakan pernyataan berikut di baris pertama kode fungsi:

```
import cf from 'cloudfront';
const kvsHandle = cf.kvs();
```



## Metode `get()`
<a name="functions-custom-methods-get"></a>

Gunakan metode ini untuk mengembalikan nilai kunci untuk nama kunci yang Anda tentukan. 

**Permintaan**

```
get("key", options);
```
+ `key`: Nama kunci yang nilainya perlu diambil
+ `options`: Ada satu pilihan,`format`. Ini memastikan bahwa fungsi mem-parsing data dengan benar. Kemungkinan nilai:
  + `string`: (Default) UTF8 dikodekan
  + `json` 
  + `bytes`: Buffer data biner mentah

**Minta contoh**

```
const value = await kvsHandle.get("myFunctionKey", { format: "string"});
```

**Respons**

Responsnya adalah `promise` yang menyelesaikan nilai dalam format yang diminta dengan menggunakan. `options` Secara default, nilai dikembalikan sebagai string.

### Penanganan kesalahan
<a name="error-handling-exists-method"></a>

`get()`Metode ini akan mengembalikan kesalahan ketika kunci yang Anda minta tidak ada di penyimpanan nilai kunci terkait. Untuk mengelola kasus penggunaan ini, Anda dapat menambahkan `try` dan `catch` memblokir kode Anda.

**Awas**  
Menggunakan kombinator janji (misalnya,`Promise.all`,`Promise.any`, dan metode rantai janji (misalnya, `then` dan`catch`) dapat memerlukan penggunaan memori fungsi tinggi. Jika fungsi Anda melebihi kuota [memori fungsi maksimum](cloudfront-limits.md#limits-functions), itu akan gagal dijalankan. Untuk menghindari kesalahan ini, kami sarankan Anda menggunakan `await` sintaks secara berurutan atau dalam loop untuk meminta beberapa nilai.  
**Contoh**  

```
var value1 = await kvs.get('key1');
var value2 = await kvs.get('key2');
```
Saat ini, menggunakan kombinator janji untuk mendapatkan beberapa nilai tidak akan meningkatkan kinerja, seperti contoh berikut.  

```
var values = await Promise.all([kvs.get('key1'), kvs.get('key2'),]);
```

## Metode `exists()`
<a name="functions-custom-methods-exists"></a>

Gunakan metode ini untuk mengidentifikasi apakah kunci ada di penyimpanan nilai kunci atau tidak.

**Permintaan**

```
exists("key");
```

**Minta contoh**

```
const exist = await kvsHandle.exists("myFunctionkey");
```

**Respons**

Responsnya adalah `promise` yang mengembalikan Boolean (`true`atau`false`). Nilai ini menentukan apakah kunci ada atau tidak di penyimpanan nilai kunci.

## Metode `meta()`
<a name="functions-custom-methods-meta"></a>

Gunakan metode ini untuk mengembalikan metadata tentang penyimpanan nilai kunci.

**Permintaan**

```
meta();
```

**Minta contoh**

```
const meta = await kvsHandle.meta();
```

**Respons**

Responsnya adalah `promise` yang menyelesaikan objek dengan properti berikut:
+ `creationDateTime`: Tanggal dan waktu penyimpanan nilai kunci dibuat, dalam format ISO 8601.
+ `lastUpdatedDateTime`: Tanggal dan waktu penyimpanan nilai kunci terakhir disinkronkan dari sumber, dalam format ISO 8601. Nilainya tidak termasuk waktu propagasi ke tepi.
+ `keyCount`: Jumlah total kunci di KVS setelah sinkronisasi terakhir dari sumber.

**Contoh respons**

```
{keyCount:3,creationDateTime:2023-11-30T23:07:55.765Z,lastUpdatedDateTime:2023-12-15T03:57:52.411Z}
```