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.
Transformationen mit Zuweisungsvorlagen für REST-APIs in API Gateway
Eine Transformation mit Zuweisungsvorlagen verwendet eine Zuweisungsvorlage, um Ihre Integrationsanforderung oder Integrationsantwort zu ändern. Eine Zuweisungsvorlage ist ein in Velocity Template Language (VTL)Content-type-Header. Sie verwenden Zuweisungsvorlagen, wenn Sie Transformationen mit Zuweisungsvorlagen einsetzen. In diesem Abschnitt werden konzeptionelle Informationen zu Zuweisungsvorlagen beschrieben.
Das folgende Diagramm zeigt den Anforderungslebenszyklus für eine POST /pets Ressource, die über eine Integration mit einem PetStore Integrationsendpunkt verfügt. In dieser API senden Benutzer Daten zu einem Haustier, und der Integrationsendpunkt gibt die mit dem Haustier verbundene Adoptionsgebühr zurück. In diesem Anfragelebenszyklus filtern Transformationen mit Zuweisungsvorlagen den Anfragebody zum Integrationsendpunkt und den Antwortbody vom Integrationsendpunkt.
Die folgenden Abschnitte erläutern den Lebenszyklus von Anfrage und Antwort.
Methodenanforderung und Integrationsanforderung
Im vorherigen Beispiel gilt: Wenn dies der Anforderungs-Body ist, der an die Methodenanforderung gesendet wird:
POST /pets
HTTP/1.1
Host:abcd1234.us-west-2.amazonaws.com
Content-type: application/json
{
"id": 1,
"type": "dog",
"Age": 11,
}
Dieser Body der Anfrage liegt nicht im richtigen Format vor, um vom Integrationsendpunkt verwendet zu werden. Daher führt API Gateway eine Zuweisungsvorlagen-Transformation durch. API Gateway führt nur eine Transformation der Zuordnungsvorlage durch, weil für die eine Zuordnungsvorlage definiert ist Content-Type application/json. Wenn Sie keine Zuordnungsvorlage für das definieren Content-Type, leitet API Gateway den Hauptteil standardmäßig über die Integrationsanforderung an den Integrationsendpunkt weiter. Informationen zum Ändern dieses Verhaltens finden Sie unter Verhalten der Methodenanforderung für Nutzdaten ohne Zuweisungsvorlagen für REST-APIs in API Gateway.
Die folgende Zuweisungsvorlage transformiert die Daten der Methodenanforderung in der Integrationsanforderung, bevor sie an den Integrationsendpunkt gesendet werden:
#set($inputRoot = $input.path('$'))
{
"dogId" : "dog_"$elem.id,
"Age": $inputRoot.Age
}
Die Variable
$inputRootstellt in den ursprünglichen JSON-Daten aus dem vorherigen Abschnitt das Stammobjekt dar. Richtlinien beginnen mit dem#-Symbol.-
dogist eine Verkettung deriddes Benutzers und einer Zeichenfolge. -
Agestammt aus dem Body der Methodenanforderung.
Anschließend wird die folgende Ausgabe an den Integrationsendpunkt weitergeleitet:
{
"dogId" : "dog_1",
"Age": 11
}
Integrationsantwort und Methodenantwort
Nach einer erfolgreichen Anfrage an den Integrationsendpunkt sendet der Endpunkt eine Antwort an die Integrationsantwort von API Gateway. Im Folgenden sehen Sie die Beispieldaten, die vom Integrationsendpunkt zurückgegeben werden:
{
"dogId" : "dog_1",
"adoptionFee": 19.95,
}
Die Methodenantwort erwartet andere Nutzdaten als die, die von der Integrationsantwort zurückgegeben werden. Daher führt API Gateway eine Transformation mit Zuweisungsvorlagen aus. API Gateway führt nur eine Transformation der Zuordnungsvorlage durch, weil für die eine Zuordnungsvorlage definiert ist Content-Type application/json. Wenn Sie keine Zuordnungsvorlage für die definieren Content-Type, leitet API Gateway standardmäßig den Hauptteil durch die Integrationsantwort an die Methodenantwort weiter. Informationen zum Ändern dieses Verhaltens finden Sie unter Verhalten der Methodenanforderung für Nutzdaten ohne Zuweisungsvorlagen für REST-APIs in API Gateway.
#set($inputRoot = $input.path('$'))
{
"adoptionFee" : $inputRoot.adoptionFee,
}
Die folgende Ausgabe wird an die Methodenantwort gesendet:
{"adoptionFee": 19.95}
Damit ist das Beispiel zur Transformation mit Zuweisungsvorlagen abgeschlossen. Wir empfehlen, wann immer möglich, statt Transformationen mit Zuweisungsvorlagen eine Proxy-Integration zu verwenden, um Ihre Daten zu transformieren. Weitere Informationen finden Sie unter Auswählen eines API Gateway-API-Integration.