

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Hilfsmethoden für Schlüsselwertspeicher
<a name="functions-custom-methods"></a>

**Anmerkung**  
Aufrufe von Hilfsmethoden zum Speichern von Schlüsselwerten aus CloudFront Functions lösen kein AWS CloudTrail Datenereignis aus. Diese Ereignisse werden nicht im CloudTrail Ereignisverlauf protokolliert. Weitere Informationen finden Sie unter [Protokollieren von API-Aufrufen in Amazon CloudFront mit AWS CloudTrail](logging_using_cloudtrail.md).

Dieser Abschnitt gilt, wenn Sie den [CloudFront Key Value Store](kvs-with-functions.md) verwenden, um Schlüsselwerte in die von Ihnen erstellte Funktion aufzunehmen. CloudFront Functions verfügt über ein Modul, das drei Hilfsmethoden zum Lesen von Werten aus dem Schlüsselwertspeicher bereitstellt.

Um dieses Modul im Funktionscode zu verwenden, stellen Sie sicher, dass Sie der Funktion [einen Schlüsselwertspeicher zugeordnet](kvs-with-functions-associate.md) haben. 

Fügen Sie als Nächstes die folgenden Anweisungen in die ersten Zeilen des Funktionscodes ein:

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



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

Verwenden Sie diese Methode, um den Schlüsselwert für den Schlüsselnamen abzurufen, den Sie angeben. 

**Anforderung**

```
get("key", options);
```
+ `key`: Der Name des Schlüssels, dessen Wert abgerufen werden muss
+ `options`: Es gibt eine Option, `format`. Diese stellt sicher, dass die Funktion die Daten korrekt analysiert. Mögliche Werte:
  + `string`: (Standard) UTF8 codiert
  + `json` 
  + `bytes`: Roher Binärdatenpuffer

**Beispiel anfordern**

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

**Antwort**

Die Antwort ist ein `promise`, das zu einem Wert in dem von `options` angeforderten Format aufgelöst wird. Standardmäßig wird der Wert als Zeichenfolge zurückgegeben.

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

Die `get()`-Methode gibt einen Fehler zurück, wenn der von Ihnen angeforderte Schlüssel nicht im zugehörigen Schlüsselwertspeicher vorhanden ist. Um dieses Problem zu beheben, können Sie Ihrem Code einen `try`- und `catch`-Block hinzufügen.

**Warnung**  
Die Verwendung von Promise-Kombinatoren (z. B. `Promise.all`, `Promise.any`) und Promise-Verkettungsmethoden (z. B. `then` und `catch`) kann eine hohe Auslastung des Funktionsspeichers erfordern. Wenn Ihre Funktion das [maximale Funktionsspeicherkontingent](cloudfront-limits.md#limits-functions) überschreitet, kann sie nicht ausgeführt werden. Um diesen Fehler zu vermeiden, empfehlen wir, die `await`-Syntax sequentiell oder in Schleifen zu verwenden, um mehrere Werte anzufordern.  
**Beispiel**  

```
var value1 = await kvs.get('key1');
var value2 = await kvs.get('key2');
```
Derzeit verbessert die Verwendung von Promise-Kombinatoren zum Abrufen mehrerer Werte die Leistung nicht, wie im folgenden Beispiel.  

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

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

Verwenden Sie diese Methode, um zu ermitteln, ob der Schlüssel im Schlüsselwertspeicher vorhanden ist.

**Anforderung**

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

**Beispiel anfordern**

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

**Antwort**

Die Antwort ist ein `promise`, das einen booleschen Wert (`true` oder `false`) zurückgibt. Dieser Wert gibt an, ob der Schlüssel im Schlüsselwertspeicher vorhanden ist.

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

Verwenden Sie diese Methode, um Metadaten über den Schlüsselwertspeicher zurückzugeben.

**Anforderung**

```
meta();
```

**Beispiel anfordern**

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

**Antwort**

Die Antwort ist ein `promise`, das in ein Objekt mit den folgenden Eigenschaften aufgelöst wird:
+ `creationDateTime`: Erstellungsdatum und -uhrzeit des Schlüsselwertspeichers im ISO 8601-Format.
+ `lastUpdatedDateTime`: Datum und Uhrzeit der letzten Synchronisierung des Schlüsselwertspeichers mit der Quelle im ISO 8601-Format. Der Wert beinhaltet nicht die Ausbreitungszeit bis zum Edge.
+ `keyCount`: Die Gesamtzahl der Schlüssel im KVS nach der letzten Synchronisierung mit der Quelle.

**Beispiel für eine Antwort**

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