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
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 Bei HTTP-APIs sind Anforderungsparameter eine Schlüssel-Wert-Zuordnung, die Parameter angibt, die an |
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:
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.