Verwenden von AWS Lambda mit sonstigen Services - AWS Lambda

Verwenden von AWS Lambda mit sonstigen Services

AWS Lambda lässt sich in andere AWS-Services integrieren, um Funktionen aufzurufen oder andere Aktionen durchzuführen. Dies sind einige häufige Anwendungsfälle:

Je nachdem, welchen Service Sie mit Lambda verwenden, funktioniert der Aufruf im Allgemeinen auf zwei Arten. Ein Ereignis steuert den Aufruf oder Lambda fragt eine Warteschlange oder einen Datenstrom ab und ruft die Funktion als Reaktion auf Aktivitäten in der Warteschlange oder im Datenstrom auf. Lambda lässt sich in Amazon Elastic File System und AWS X-Ray so integrieren, dass keine Funktionen aufgerufen werden müssen.

Weitere Informationen finden Sie unter ereignisgesteuertes Aufrufen und Lambda-Abfragen. Oder suchen Sie im folgenden Abschnitt nach dem Service, mit dem Sie arbeiten möchten, um einen Link zu Informationen zur Verwendung dieses Services mit Lambda zu finden.

Suchen Sie den Service, mit dem Sie arbeiten möchten, in der folgenden Tabelle, um zu bestimmen, welche Methode des Aufrufs Sie verwenden möchten. Folgen Sie dem Link des Servicenamens, um Informationen zum Einrichten der Integration zwischen den Services zu erhalten. Diese Themen enthalten auch Beispielereignisse, die Sie zum Testen Ihrer Funktion verwenden können.

Tipp

Die Einträge in dieser Tabelle sind alphabetisch nach Servicenamen geordnet, mit Ausnahme des Präfixes „Amazon“ oder „AWS“. Sie können auch die Suchfunktion Ihres Browsers verwenden, um Ihren Service in der Liste zu finden.

Service Methode des Aufrufs

Amazon Alexa

Ereignisgesteuert; synchroner Aufruf

Amazon Managed Streaming für Apache Kafka

Lambda-Abfragen

Selbstverwaltetes Apache Kafka

Lambda-Abfragen

Amazon API Gateway

Ereignisgesteuert; synchroner Aufruf

AWS CloudFormation

Ereignisgesteuert; asynchroner Aufruf

Amazon CloudFront (Lambda@Edge)

Ereignisgesteuert; synchroner Aufruf

Amazon EventBridge (CloudWatch-Events)

Ereignisgesteuert; asynchroner Aufruf

Amazon CloudWatch Logs

Ereignisgesteuert; asynchroner Aufruf

AWS CodeCommit

Ereignisgesteuert; asynchroner Aufruf

AWS CodePipeline

Ereignisgesteuert; asynchroner Aufruf

Amazon Cognito

Ereignisgesteuert; synchroner Aufruf

AWS Config

Ereignisgesteuert; asynchroner Aufruf

Amazon Connect

Ereignisgesteuert; synchroner Aufruf

Amazon DynamoDB

Lambda-Abfragen

Amazon Elastic File System

Spezielle Integration

Elastic Load Balancing (Application Load Balancer)

Ereignisgesteuert; synchroner Aufruf

AWS IoT

Ereignisgesteuert; asynchroner Aufruf

AWS IoT-Ereignisse

Ereignisgesteuert; asynchroner Aufruf

Amazon Kinesis

Lambda-Abfragen

Amazon Kinesis Data Firehose

Ereignisgesteuert; synchroner Aufruf

Amazon Lex

Ereignisgesteuert; synchroner Aufruf

Amazon MQ

Lambda-Abfragen

Amazon Simple Email Service

Ereignisgesteuert; asynchroner Aufruf

Amazon Simple Notification Service

Ereignisgesteuert; asynchroner Aufruf

Amazon Simple Queue Service

Lambda-Abfragen

Amazon Simple Storage Service (Amazon S3)

Ereignisgesteuert; asynchroner Aufruf

Amazon Simple Storage Service Batch

Ereignisgesteuert; synchroner Aufruf

Secrets Manager

Ereignisgesteuert; synchroner Aufruf

AWS X-Ray

Spezielle Integration

ereignisgesteuertes Aufrufen

Einige Services generieren Ereignisse, die Ihre Lambda-Funktion aufrufen können. Weitere Informationen zum Entwerfen dieser Architekturtypen finden Sie unter Ereignisgesteuerte Architekturen im Lambda-Bedienerhandbuch.

Wenn Sie eine ereignisgesteuerte Architektur implementieren, erteilen Sie dem ereignisgenerierenden Service die Berechtigung zum Aufrufen Ihrer Funktion in der ressourcenbasierten Richtlinie der Funktion. Dann konfigurieren Sie diesen Service, um Ereignisse zu generieren, die Ihre Funktion aufrufen.

Die Ereignisse sind im JSON-Format gegliedert. Die JSON-Struktur variiert je nach Service, der sie generiert und dem Ereignistyp, aber sie alle enthalten die Daten, die die Funktion benötigt, um das Ereignis zu verarbeiten.

Lambda wandelt das Ereignisdokument in ein Objekt um und leitet es an Ihren Funktions-Handler weiter. Für kompilierte Sprachen enthält Lambda Definitionen für Ereignistypen in einer Bibliothek. Weitere Informationen finden Sie im Thema zum Erstellen von Funktionen mit Ihrer Sprache: Erstellen von Lambda-Funktionen mit C#, Erstellen von Lambda-Funktionen mit Go, Erstellen von Lambda-Funktionen mit Java oder Erstellen von Lambda-Funktionen mit PowerShell.

Je nach Service kann der ereignisgesteuerte Aufruf synchron oder asynchron erfolgen.

  • Beim synchronen Aufruf wartet der Service, der das Ereignis generiert, auf die Antwort Ihrer Funktion. Dieser Service definiert die Daten, die die Funktion in der Antwort zurückgeben muss. Der Service steuert die Fehlerstrategie, z. B. ob bei Fehlern ein erneuter Versuch unternommen werden soll. Weitere Informationen finden Sie unter Synchroner Aufruf.

  • Bei asynchronen Aufrufen verschiebt Lambda das Ereignis in die Warteschlange, bevor sie es an Ihre Funktion übergibt. Wenn Lambda das Ereignis in die Warteschlange stellt, sendet es sofort eine Erfolgsantwort an den Service der das Ereignis generiert hat. Nachdem die Funktion das Ereignis verarbeitet hat, gibt Lambda keine Antwort auf den ereignisgenerierenden Service zurück. Weitere Informationen finden Sie unter Asynchroner Aufruf.

Weitere Informationen dazu, wie Lambda die Fehlerbehandlung für synchron und asychron aufgerufene Funktionen verwaltet, finden Sie unter Fehlerbehandlung und automatische Wiederholungen in AWS Lambda.

Lambda-Abfragen

Für Dienste, die eine Warteschlange oder einen Datenstrom generieren, richten Sie ein Ereignisquellen-Mapping in Lambda ein, damit Lambda die Warteschlange oder einen Datenstrom abfragt.

Wenn Sie eine Lambda-Abfragearchitektur implementieren, erteilen Sie Lambda die Berechtigung zum Zugriff auf den anderen Service in der Ausführungsrolle der Funktion. Lambda liest Daten aus dem anderen Service, erstellt ein Ereignis und ruft Ihre Funktion auf.