Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Referenzmaterial zur WebSocket-API-Zuweisungsvorlage für API Gateway

Fokusmodus
Referenzmaterial zur WebSocket-API-Zuweisungsvorlage für API Gateway - Amazon API Gateway

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.

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.

Dieser Abschnitt fasst den Satz von Variablen zusammen, der derzeit für WebSocket-APIs in API Gateway unterstützt wird.

Parameter Beschreibung
$context.connectionId

Eine eindeutige ID für die Verbindung, die für einen Rückruf an den Client verwendet werden kann.

$context.connectedAt

Die Epoch-formatierte Verbindungszeit.

$context.domainName

Ein Domänenname für die WebSocket-API. Dies kann für einen Rückruf an den Client (anstelle eines hardcodierten Wertes) verwendet werden.

$context.eventType

Der Ereignistyp: CONNECT, MESSAGE oder DISCONNECT.

$context.messageId

Eine eindeutige serverseitige ID für eine Nachricht. Nur verfügbar, wenn der $context.eventType MESSAGE ist.

$context.routeKey

Der ausgewählte Routenschlüssel.

$context.requestId

Entspricht $context.extendedRequestId.

$context.extendedRequestId Eine automatisch generierte ID für den API-Aufruf, die weitere nützliche Informationen für das Debugging/die Fehlerbehebung enthält.
$context.apiId

Die ID, die API Gateway Ihrer API zuweist.

$context.authorizer.principalId

Die ID des Prinzipalbenutzer, die dem vom Client gesendeten und von einer Lambda-Funktion eines API Gateway-Lambda-Genehmigers (früher "benutzerdefinierter Genehmiger") zurückgegebenen Token zugeordnet ist.

$context.authorizer.property

Der in einer Zeichenfolge umgewandelte Wert des angegebenen Schlüssel-Wert-Paares der context-Zuordnung, der von einer API Gateway Lambda-Genehmigerfunktion zurückgegeben wird. Angenommen, der Genehmiger gibt folgende context-Zuweisung zurück:

"context" : { "key": "value", "numKey": 1, "boolKey": true }

Dann gibt der Aufruf von $context.authorizer.key die Zeichenfolge "value" zurück, der Aufruf von $context.authorizer.numKey gibt die Zeichenfolge "1" zurück und der Aufruf von $context.authorizer.boolKey gibt den Wert "true" zurück.

$context.error.messageString Die Wert von $context.error.message in Anführungszeichen, d. h. "$context.error.message".
$context.error.validationErrorString

Eine Zeichenfolge mit einer detaillierten Validierungs-Fehlermeldung.

$context.identity.accountId

Die AWS-Konto-ID der Anforderung.

$context.identity.apiKey

Der API-Besitzerschlüssel, der der schlüsselfähigen API-Anforderung zugewiesen ist.

$context.identity.apiKeyId Die API-Schlüssel-ID, die der schlüsselfähigen API-Anforderung zugewiesen ist
$context.identity.caller

Die Prinzipal-ID des Aufrufers, von dem die Anforderung stammt.

$context.identity.cognitoAuthenticationProvider

Eine durch Komma getrennte Liste aller Amazon-Cognito-Authentifizierungsanbieter, die vom anfordernden Aufrufer verwendet werden. Nur verfügbar, wenn die Anfrage mit Anmeldeinformationen von Amazon Cognito signiert wurde.

Zum Beispiel für eine Identität aus einem Amazon Cognito-Benutzerpool, cognito-idp. region.amazonaws.com/user_pool_id,cognito-idp.region.amazonaws.com/user_pool_id:CognitoSignIn:token subject claim

Weitere Informationen zu verfügbaren Amazon-Cognito-Authentifizierungsanbietern finden Sie unter Verbundidentitäten verwenden im Amazon-Cognito-Entwicklerhandbuch.

$context.identity.cognitoAuthenticationType

Der Amazon Cognito-Authentifizierungstyp des Aufrufers, der den Anfrage erstellt hat. Nur verfügbar, wenn die Anfrage mit Anmeldeinformationen von Amazon Cognito signiert wurde. Mögliche Werte sind authenticated für authentifizierte Identitäten und unauthenticated für nicht authentifizierte Identitäten.

$context.identity.cognitoIdentityId

Die Amazon Cognito Identitäts-ID des anfordernden Aufrufers. Nur verfügbar, wenn die Anfrage mit Anmeldeinformationen von Amazon Cognito signiert wurde.

$context.identity.cognitoIdentityPoolId

Die Amazon Cognito Identitätspool-ID des anfordernden Aufrufers. Nur verfügbar, wenn die Anfrage mit Anmeldeinformationen von Amazon Cognito signiert wurde.

$context.identity.sourceIp

Die Quell-IP-Adresse der TCP-Verbindung, von der die Anforderung an API Gateway gesendet wird.

$context.identity.user

Die Prinzipal-ID des Benutzers, von dem die Anforderung stammt.

$context.identity.userAgent

Der Benutzeragent des API-Aufrufers.

$context.identity.userArn

Der ARN (Amazon Resource Name) des tatsächlichen Benutzers nach der Authentifizierung.

$context.requestTime Die Anforderungszeit im CLF-Format (dd/MMM/yyyy:HH:mm:ss +-hhmm).
$context.requestTimeEpoch Die Anforderungszeit im Epoch-Format in Millisekunden.
$context.stage

Die Bereitstellungsstufe des API-Aufrufs (z. B. "Beta" oder "Prod").

$context.status

Der Antwortstatus.

$input.body

Gibt die Raw-Nutzlast als Zeichenfolge zurück.

$input.json(x)

Diese Funktion wertet einen JSONPath-Ausdruck aus und gibt die Ergebnisse als JSON-Zeichenfolge zurück.

Beispielsweise gibt $input.json('$.pets') eine JSON-Zeichenfolge zurück, die die "Pets"-Struktur abbildet.

Weitere Informationen zu JSONPath finden Sie unter JSONPath oder JSONPath for Java.

$input.path(x)

Empfängt eine JSONPath-Ausdruckszeichenfolge (x) und gibt eine JSON-Objektdarstellung des Ergebnisses zurück. Dies ermöglicht einen nativen Zugriff auf Elemente der Nutzlast in Apache Velocity Template Language (VTL) und deren Bearbeitung.

Beispiel: Der Ausdruck $input.path('$.pets') könnte das folgende Objekt zurückgeben:

[ { "id": 1, "type": "dog", "price": 249.99 }, { "id": 2, "type": "cat", "price": 124.99 }, { "id": 3, "type": "fish", "price": 0.99 } ]

$input.path('$.pets').count() gibt "3" zurück.

Weitere Informationen zu JSONPath finden Sie unter JSONPath oder JSONPath for Java.

$stageVariables.<variable_name>

<variable_name>variable name gibt einen Stufenvariablennamen an.

$stageVariables['<variable_name>']

<variable_name> repräsentiert einen beliebigen Stufenvariablennamen.

${stageVariables['<variable_name>']}

<variable_name>repräsentiert einen beliebigen Stufenvariablennamen.

$util.escapeJavaScript()

Die Zeichen einer Zeichenfolge werden unter Beachtung der JavaScript-Zeichenfolgenregeln durch Escape-Zeichen geschützt.

Anmerkung

Mit dieser Funktion werden alle einfachen Anführungszeichen (') durch Escape-Zeichen (\') geschützt. Allerdings sind diese durch Escape-Zeichen geschützten einfachen Anführungszeichen in JSON nicht zulässig. Sofern die Ausgabe dieser Funktion in einer JSON-Eigenschaft verwendet werden soll, müssen alle einfachen Anführungszeichen, die durch Escape-Zeichen geschützt sind (\'), wieder in reguläre einfache Anführungszeichen (') geändert werden. Das wird im folgenden Beispiel veranschaulicht:

$util.escapeJavaScript(data).replaceAll("\\'","'")
$util.parseJson()

Erhält das "stringify"-JSON-Objekt und gibt eine Objektdarstellung des Ergebnisses zurück. Mit dem Ergebnis dieser Funktion können Sie Elemente der Nutzlast, die in Apache Velocity Template Language (VTL) sind, aufrufen und bearbeiten. Angenommen, Sie haben folgende Nutzlast:

{"errorMessage":"{\"key1\":\"var1\",\"key2\":{\"arr\":[1,2,3]}}"}

Und verwenden die folgende Mapping-Vorlage:

#set ($errorMessageObj = $util.parseJson($input.path('$.errorMessage'))) { "errorMessageObjKey2ArrVal" : $errorMessageObj.key2.arr[0] }

Dann erhalten Sie die folgende Ausgabe:

{ "errorMessageObjKey2ArrVal" : 1 }
$util.urlEncode()

Wandelt eine Zeichenfolge in das Format "application/x-www-form-urlencoded" um.

$util.urlDecode()

Decodiert eine Zeichenfolge des Typs "application/x-www-form-urlencoded".

$util.base64Encode()

Codiert die Daten in eine base64-verschlüsselte Zeichenfolge.

$util.base64Decode()

Decodiert die Daten einer base64-verschlüsselten Zeichenfolge.

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.