

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.

# Beispiele: Aufrufen von Lambda-Funktionen von Ihrer RDS-for-PostgreSQL-DB-Instance
<a name="PostgreSQL-Lambda-examples"></a>

Nachfolgend finden Sie einige Beispiele für den Aufruf der [aws\$1lambda.invoke](PostgreSQL-Lambda-functions.md#aws_lambda.invoke)-Funktion. Die meisten Beispiele verwenden die Verbundstruktur `aws_lambda_arn_1`, die Sie in [Schritt 4: Verwenden von Lambda-Hilfsfunktionen mit Ihrer RDS-for-PostgreSQL-DB-Instance (optional)](PostgreSQL-Lambda.md#PostgreSQL-Lambda-specify-function) erstellen, um die Übergabe der Funktionsdetails zu vereinfachen. Ein Beispiel für einen asynchronen Aufruf finden Sie unter [Beispiel: Asynchroner Ereignisaufruf (Event) von Lambda-Funktionen](#PostgreSQL-Lambda-Event). Alle anderen aufgelisteten Beispiele verwenden einen synchronen Aufruf. 

Weitere Informationen zu Lambda-Aufruftypen finden Sie unter [Aufrufen von Lambda-Funktionen](https://docs.aws.amazon.com/lambda/latest/dg/lambda-invocation.html) im *AWS Lambda -Entwicklerhandbuch*. Mehr über `aws_lambda_arn_1` erfahren Sie unter [aws\$1commons.create\$1lambda\$1function\$1arn](PostgreSQL-Lambda-functions.md#aws_commons.create_lambda_function_arn). 

**Topics**
+ [Beispiel: Synchroner (RequestResponse) -Aufruf von Lambda-Funktionen](#PostgreSQL-Lambda-RequestResponse)
+ [Beispiel: Asynchroner Ereignisaufruf (Event) von Lambda-Funktionen](#PostgreSQL-Lambda-Event)
+ [Beispiel: Erfassen des Lambda-Ausführungsprotokolls in einer Funktionsantwort](#PostgreSQL-Lambda-log-response)
+ [Beispiel: Einschließen von Client-Kontext in einer Lambda-Funktion](#PostgreSQL-Lambda-client-context)
+ [Beispiel: Aufrufen einer bestimmten Version einer Lambda-Funktion](#PostgreSQL-Lambda-function-version)

## Beispiel: Synchroner (RequestResponse) -Aufruf von Lambda-Funktionen
<a name="PostgreSQL-Lambda-RequestResponse"></a>

Es folgen zwei Beispiele für einen synchronen Lambda-Funktionsaufruf. Die Ergebnisse dieser `aws_lambda.invoke`-Funktionen sind identisch.

```
SELECT * FROM aws_lambda.invoke('aws_lambda_arn_1', '{"body": "Hello from Postgres!"}'::json);
```

```
SELECT * FROM aws_lambda.invoke('aws_lambda_arn_1', '{"body": "Hello from Postgres!"}'::json, 'RequestResponse');
```

Die Parameter werden wie folgt beschrieben:
+ `:'aws_lambda_arn_1'` – Dieser Parameter identifiziert die zusammengesetzte Struktur, die in [Schritt 4: Verwenden von Lambda-Hilfsfunktionen mit Ihrer RDS-for-PostgreSQL-DB-Instance (optional)](PostgreSQL-Lambda.md#PostgreSQL-Lambda-specify-function) erstellt wurde, mit der `aws_commons.create_lambda_function_arn`-Hilfsfunktion. Sie können diese Struktur wie folgt auch in Ihren `aws_lambda.invoke`-Aufruf einbinden. 

  ```
  SELECT * FROM aws_lambda.invoke(aws_commons.create_lambda_function_arn('my-function', 'aws-region'),
  '{"body": "Hello from Postgres!"}'::json
  );
  ```
+ `'{"body": "Hello from PostgreSQL!"}'::json` – Die JSON-Nutzlast, die an die Lambda-Funktion übergeben werden soll.
+ `'RequestResponse'` – Der Lambda Aufruftyp.

## Beispiel: Asynchroner Ereignisaufruf (Event) von Lambda-Funktionen
<a name="PostgreSQL-Lambda-Event"></a>

Es folgt ein Beispiel für einen asynchronen Lambda-Funktionsaufruf. Der `Event`-Aufruftyp plant den Lambda-Funktionsaufruf mit der angegebenen Eingabe-Nutzlast und sofort Rückgabe. Verwenden Sie den `Event`-Aufruftyp in bestimmten Workflows, die nicht von den Ergebnissen der Lambda-Funktion abhängen.

```
SELECT * FROM aws_lambda.invoke('aws_lambda_arn_1', '{"body": "Hello from Postgres!"}'::json, 'Event');
```

## Beispiel: Erfassen des Lambda-Ausführungsprotokolls in einer Funktionsantwort
<a name="PostgreSQL-Lambda-log-response"></a>

Sie können die letzten 4 KB des Ausführungsprotokolls in die Funktionsantwort aufnehmen, indem Sie den Parameter `log_type` in Ihrem `aws_lambda.invoke`-Funktionsaufruf verwenden. Standardmäßig ist dieser Parameter auf `None` festgelegt, aber Sie können `Tail` angeben, um die Ergebnisse des Lambda-Ausführungsprotokolls in der Antwort zu erfassen, wie nachfolgend gezeigt.

```
SELECT *, select convert_from(decode(log_result, 'base64'), 'utf-8') as log FROM aws_lambda.invoke(:'aws_lambda_arn_1', '{"body": "Hello from Postgres!"}'::json, 'RequestResponse', 'Tail');
```

Legen Sie den Parameter [aws\$1lambda.invoke](PostgreSQL-Lambda-functions.md#aws_lambda.invoke) der `log_type`-Funktion auf `Tail`, um das Ausführungsprotokoll in die Antwort aufzunehmen. Der Standardwert für diesen `log_type`-Parameter ist `None`.

Das `log_result`, was zurückgegeben wird, ist eine `base64` codierte Zeichenfolge. Sie können den Inhalt mit einer Kombination der PostgreSQL-Funktionen `decode` und `convert_from` dekodieren.

Mehr über `log_type` erfahren Sie unter [aws\$1lambda.invoke](PostgreSQL-Lambda-functions.md#aws_lambda.invoke).

## Beispiel: Einschließen von Client-Kontext in einer Lambda-Funktion
<a name="PostgreSQL-Lambda-client-context"></a>

Die `aws_lambda.invoke`-Funktion hat einen `context`-Parameter, den Sie verwenden können, um Informationen getrennt von der Nutzlast zu übergeben, wie nachfolgend gezeigt. 

```
SELECT *, convert_from(decode(log_result, 'base64'), 'utf-8') as log FROM aws_lambda.invoke(:'aws_lambda_arn_1', '{"body": "Hello from Postgres!"}'::json, 'RequestResponse', 'Tail');
```

Um den Clientkontext einzuschließen, verwenden Sie ein JSON-Objekt für den Parameter [aws\$1lambda.invoke](PostgreSQL-Lambda-functions.md#aws_lambda.invoke) der `context`-Funktion.

Weitere Informationen zum `context`-Parameter finden Sie in der [aws\$1lambda.invoke](PostgreSQL-Lambda-functions.md#aws_lambda.invoke)-Referenz. 

## Beispiel: Aufrufen einer bestimmten Version einer Lambda-Funktion
<a name="PostgreSQL-Lambda-function-version"></a>

Sie können eine bestimmte Version einer Lambda-Funktion angeben, indem Sie den `qualifier`-Parameter mit dem `aws_lambda.invoke`-Aufruf einschließen. Im Folgenden finden Sie ein Beispiel, das diese Funktion mit `'custom_version'` als Alias für die Version erfüllt.

```
SELECT * FROM aws_lambda.invoke('aws_lambda_arn_1', '{"body": "Hello from Postgres!"}'::json, 'RequestResponse', 'None', NULL, 'custom_version');
```

Sie können auch einen Lambda-Funktionsqualifizierer wie folgt mit den Daten zum Funktionsnamen angeben.

```
SELECT * FROM aws_lambda.invoke(aws_commons.create_lambda_function_arn('my-function:custom_version', 'us-west-2'),
'{"body": "Hello from Postgres!"}'::json);
```

Weitere Informationen zu `qualifier` und anderen Parametern finden Sie in der [aws\$1lambda.invoke](PostgreSQL-Lambda-functions.md#aws_lambda.invoke)-Referenz.