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“.

Asynchronen Aufruf der Backend-Lambda-Funktion einrichten

Fokusmodus
Asynchronen Aufruf der Backend-Lambda-Funktion einrichten - 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.

Bei der nicht-proxy (benutzerdefinierten) Lambda-Integration wird die Backend-Lambda-Funktion standardmäßig synchron aufgerufen. Dies ist das gewünschte Verhalten für die meisten REST-API-Operationen. Einige Anwendungen erfordern jedoch eine asynchrone Durchführung (als Batchvorgang oder Operation mit langer Latenzzeit), in der Regel durch eine separate Backend-Komponente. In diesem Fall wird die Lambda-Backend-Funktion asynchron aufgerufen, und die Frontend-REST-API-Methode gibt das Ergebnis nicht zurück.

Sie können die Lambda-Funktion für eine nicht-proxy Lambda-Integration so konfigurieren, dass sie asynchron aufgerufen wird, indem Sie 'Event' als Lambda invocation type (Lambda-Aufruftyp) festlegen. Gehen Sie hierzu folgendermaßen vor:

Asynchronen Lambda-Aufruf in der API Gateway-Konsole konfigurieren

Damit alle Aufrufe asynchron sind:

  • Fügen Sie in Integrationsanforderung einen X-Amz-Invocation-Type-Header mit dem statischen Wert 'Event' hinzu.

Damit Clients entscheiden können, ob Aufrufe asynchron oder synchron sind:

  1. Fügen Sie in Methodenanforderung einen InvocationType-Header hinzu.

  2. Fügen Sie in Integrationsanforderung einen X-Amz-Invocation-Type-Header mit dem Mapping-Ausdruck method.request.header.InvocationType hinzu.

  3. Clients können den InvocationType: Event-Header in API-Anforderungen für asynchrone Aufrufe oder InvocationType: RequestResponse für synchrone Aufrufe einschließen.

Asynchronen Lambda-Aufruf mit OpenAPI konfigurieren

Damit alle Aufrufe asynchron sind:

  • Fügen Sie die X-Amz-Invocation-Type Kopfzeile zum x-amazon-apigateway-integrationAbschnitt hinzu.

    "x-amazon-apigateway-integration" : { "type" : "aws", "httpMethod" : "POST", "uri" : "arn:aws:apigateway:us-east-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-2:123456789012:function:my-function/invocations", "responses" : { "default" : { "statusCode" : "200" } }, "requestParameters" : { "integration.request.header.X-Amz-Invocation-Type" : "'Event'" }, "passthroughBehavior" : "when_no_match", "contentHandling" : "CONVERT_TO_TEXT" }

Damit Clients entscheiden können, ob Aufrufe asynchron oder synchron sind:

  1. Fügen Sie ein beliebiges OpenAPI Path Item Object dem folgenden Header hinzu.

    "parameters" : [ { "name" : "InvocationType", "in" : "header", "schema" : { "type" : "string" } } ]
  2. Fügen Sie die X-Amz-Invocation-Type Kopfzeile zum x-amazon-apigateway-integrationAbschnitt hinzu.

    "x-amazon-apigateway-integration" : { "type" : "aws", "httpMethod" : "POST", "uri" : "arn:aws:apigateway:us-east-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-2:123456789012:function:my-function/invocations", "responses" : { "default" : { "statusCode" : "200" } }, "requestParameters" : { "integration.request.header.X-Amz-Invocation-Type" : "method.request.header.InvocationType" }, "passthroughBehavior" : "when_no_match", "contentHandling" : "CONVERT_TO_TEXT" }
  3. Clients können den InvocationType: Event-Header in API-Anforderungen für asynchrone Aufrufe oder InvocationType: RequestResponse für synchrone Aufrufe einschließen.

Konfigurieren Sie den asynchronen Lambda-Aufruf mit AWS CloudFormation

Die folgenden AWS CloudFormation Vorlagen zeigen, wie Sie den AWS::ApiGateway::Method für asynchrone Aufrufe konfigurieren.

Damit alle Aufrufe asynchron sind:

AsyncMethodGet: Type: 'AWS::ApiGateway::Method' Properties: RestApiId: !Ref Api ResourceId: !Ref AsyncResource HttpMethod: GET ApiKeyRequired: false AuthorizationType: NONE Integration: Type: AWS RequestParameters: integration.request.header.X-Amz-Invocation-Type: "'Event'" IntegrationResponses: - StatusCode: '200' IntegrationHttpMethod: POST Uri: !Sub arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${myfunction.Arn}$/invocations MethodResponses: - StatusCode: '200'

Damit Clients entscheiden können, ob Aufrufe asynchron oder synchron sind:

AsyncMethodGet: Type: 'AWS::ApiGateway::Method' Properties: RestApiId: !Ref Api ResourceId: !Ref AsyncResource HttpMethod: GET ApiKeyRequired: false AuthorizationType: NONE RequestParameters: method.request.header.InvocationType: false Integration: Type: AWS RequestParameters: integration.request.header.X-Amz-Invocation-Type: method.request.header.InvocationType IntegrationResponses: - StatusCode: '200' IntegrationHttpMethod: POST Uri: !Sub arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${myfunction.Arn}$/invocations MethodResponses: - StatusCode: '200'

Clients können den InvocationType: Event-Header in API-Anforderungen für asynchrone Aufrufe oder InvocationType: RequestResponse für synchrone Aufrufe einschließen.

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