x-amazon-apigateway-integration-Objekt - 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.

x-amazon-apigateway-integration-Objekt

Gibt die Details der für diese Methode verwendeten Backend-Integration an. Diese Erweiterung ist eine erweiterte Eigenschaft des Objekts OpenAPI-Operation. Das Ergebnis ist ein API Gateway-Integration-Objekt.

Eigenschaftenname Typ Beschreibung
cacheKeyParameters Ein Array von string Eine Liste an Anforderungsparametern, deren Werte zwischengespeichert werden sollen.
cacheNamespace string Eine API-spezifische Tag-Gruppe zugehöriger zwischengespeicherter Parameter.
connectionId string Die ID eines VpcLink für die private Integration.
connectionType string Der Verbindungstyp der Integration. Der gültige Wert ist "VPC_LINK" für die private Integration oder andernfalls "INTERNET".
credentials string

Geben Sie für AWS IAM-rollenbasierte Anmeldeinformationen den ARN einer geeigneten IAM-Rolle an. Wenn sie nicht angegeben sind, werden als Anmeldeinformationen standardmäßig ressourcenbasierte Berechtigungen festgelegt, die manuell hinzugefügt werden, damit die API auf die Ressource zugreifen kann. Weitere Informationen finden Sie unter Gewähren von Berechtigungen mit einer Ressourcenrichtlinie.

Hinweis: Stellen Sie bei der Verwendung von IAM-Anmeldeinformationen sicher, dass regionale AWS-STS-Endpunkte für die Region aktiviert sind, in der diese API für maximale Leistung bereitgestellt wird.

contentHandling string Fordern Sie Nutzlast-Kodierungs-Umwandlungstypen an. Gültige Werte sind 1) CONVERT_TO_TEXT für die Umwandlung einer binären Nutzlast in eine base64-kodierte Zeichenfolge oder die Umwandlung einer Textnutzlast in eine utf-8-kodierte Zeichenfolge oder die native Weiterleitung der Textnutzlast ohne Änderung und 2) CONVERT_TO_BINARY für die Umwandlung einer Textnutzlast in einen base64-dekodierten Blob oder die native Weiterleitung einer binären Nutzlast ohne Änderung.
httpMethod string Die in der Integrationsanforderung verwendete HTTP-Methode. Für Lambda-Funktionsaufrufe muss der Wert sei POST.
integrationSubtype string Gibt den Integration-Subtyp für eine AWS-Serviceintegration an. Wird nur für HTTP-APIs unterstützt. Unterstützte Integration-Subtypen finden Sie unter Integration-Subtypreferenz.
passthroughBehavior string Gibt an, wie eine Anforderungsnutzlast eines nicht zugeordneten Inhaltstyps unverändert an die Integrationsanforderung weitergeleitet wurde. Unterstützte Werte sind when_no_templates, when_no_match und never. Weitere Informationen finden Sie unter Integration.passthroughBehavior.
payloadFormatVersion string Gibt das Format der an eine Integration gesendeten Nutzlast an. Erforderlich für HTTP-APIs. Für HTTP-APIs lauten unterstützte Werte für Lambda-Proxy-Integrationen 1.0 und 2.0. Für alle anderen Integrationen ist 1.0 der einzige unterstützte Wert. Weitere Informationen hierzu finden Sie unter Erstellen von AWS Lambda-Proxy-Integrationen für HTTP-APIs in API Gateway und Integration-Subtypreferenz.
requestParameters x-amazon-apigateway-integration.requestParameters-Objekt

Gibt für REST-APIs Mappings von Methodenanforderungsparametern zu Integrationsanforderungsparametern an. Die unterstützten Anforderungsparameter sind querystring, path, header und body.

Bei HTTP-APIs sind Anforderungsparameter eine Schlüssel-Wert-Zuordnung, die Parameter angibt, die an AWS_PROXY-Integrationen mit einem angegebenen integrationSubtype übergeben werden. Sie können statische Werte angeben oder Anforderungsdaten, Stufenvariablen oder Kontextvariablen zuordnen, die zur Laufzeit ausgewertet werden. Weitere Informationen hierzu finden Sie unter Erstellen Sie AWS Dienstintegrationen für HTTP APIs in API Gateway.

requestTemplates x-amazon-apigateway-integration.requestTemplates-Objekt Mapping-Vorlagen für eine Anforderungsnutzlast angegebener MIME-Typen.
responses x-amazon-apigateway-integration.responses-Objekt Definiert die Antworten der Methode und gibt gewünschte Parameter-Mappings oder Nutzlast-Mappings von Integrationsantworten auf Methodenantworten an.
timeoutInMillis integer Integrationszeitüberschreitungen zwischen 50 ms und 29.000 ms.
type string

Der Typ der Integration mit dem angegebenen Backend. Folgende Werte sind zulässig:

  • http oder http_proxy, für die Integration mit einem HTTP-Backend.

  • aws_proxy für die Integration mit AWS-Lambda-Funktionen.

  • aws für die Integration mit AWS-Lambda-Funktionen oder anderen AWS-Services, wie Amazon DynamoDB, Amazon Simple Notification Service oder Amazon Simple Queue Service.

  • mock für die Integration mit API Gateway, ohne ein Backend aufzurufen.

Weitere Informationen über die Integrationstypen finden Sie unter integration:type.

tlsConfig x-amazon-apigateway-integration.tlsConfig-Objekt Gibt die TLS-Konfiguration für eine Integration an.
uri string Die Endpunkt-URI des Backends. Für Integrationen des aws-Typs ist es ein ARN-Wert. Für die HTTP-Integration ist dies die URL des HTTP-Endpunkts einschließlich des https- oder http-Schemas.

x-amazon-apigateway-integration-Beispiele

Für HTTP-APIs können Sie Integrationen im Komponenten-Abschnitt Ihrer OpenAPI-Definition definieren. Weitere Informationen hierzu finden Sie unter x-amazon-apigateway-integrations-Objekt.

"x-amazon-apigateway-integration": { "$ref": "#/components/x-amazon-apigateway-integrations/integration1" }

Im folgenden Beispiel wird eine Integration mit einer Lambda-Funktion erstellt. Zu Demonstrationszwecken wird für die Beispiel-Mapping-Vorlagen, die in requestTemplates und responseTemplates der Beispiele unten gezeigt werden, angenommen, dass die folgenden JSON-formatierten Nutzlasten angewendet werden: { "name":"value_1", "key":"value_2", "redirect": {"url" :"..."} } zur Generierung einer JSON-Ausgabe von { "stage":"value_1", "user-id":"value_2" } oder einer XML-Ausgabe von <stage>value_1</stage>.

"x-amazon-apigateway-integration" : { "type" : "aws", "uri" : "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:012345678901:function:HelloWorld/invocations", "httpMethod" : "POST", "credentials" : "arn:aws:iam::012345678901:role/apigateway-invoke-lambda-exec-role", "requestTemplates" : { "application/json" : "#set ($root=$input.path('$')) { \"stage\": \"$root.name\", \"user-id\": \"$root.key\" }", "application/xml" : "#set ($root=$input.path('$')) <stage>$root.name</stage> " }, "requestParameters" : { "integration.request.path.stage" : "method.request.querystring.version", "integration.request.querystring.provider" : "method.request.querystring.vendor" }, "cacheNamespace" : "cache namespace", "cacheKeyParameters" : [], "responses" : { "2\\d{2}" : { "statusCode" : "200", "responseParameters" : { "method.response.header.requestId" : "integration.response.header.cid" }, "responseTemplates" : { "application/json" : "#set ($root=$input.path('$')) { \"stage\": \"$root.name\", \"user-id\": \"$root.key\" }", "application/xml" : "#set ($root=$input.path('$')) <stage>$root.name</stage> " } }, "302" : { "statusCode" : "302", "responseParameters" : { "method.response.header.Location" : "integration.response.body.redirect.url" } }, "default" : { "statusCode" : "400", "responseParameters" : { "method.response.header.test-method-response-header" : "'static value'" } } } }

Beachten Sie, dass doppelte Anführungszeichen (") für die JSON-Zeichenfolge in den Mapping-Vorlagen durch einen umgekehrten Schrägstrich (\") geschützt sein müssen.