New user sign up using AWS Builder ID
New user sign up using AWS Builder ID is currently unavailable on re:Post. To sign up, please use the AWS Management Console instead.
Wie kann ich einen CloudWatch-Abonnementfilter zum Aufrufen meiner Lambda-Funktion konfigurieren?
Ich möchte einen Amazon CloudWatch-Abonnementfilter zum Aufrufen meiner AWS Lambda-Funktion konfigurieren.
Kurzbeschreibung
Mit Amazon CloudWatch Logs können Sie einen Abonnementfilter verwenden, der Protokolldaten an Ihre Lambda-Funktion sendet. CloudWatch Logs-Abonnementfilter sind base64-codiert und im GZIP-Format komprimiert.
Bevor Sie Ihre Lambda-Funktion erstellen, berechnen Sie das Volume der Protokolldaten, die generiert werden. Stellen Sie sicher, dass Sie eine Funktion erstellen, die die Volume-Menge verwalten kann. Wenn die Funktion nicht über genügend Volume verfügt, wird der Protokollstream gedrosselt. Weitere Informationen finden Sie unter Lambda-Kontingente.
Hinweis: Das Streamen großer Mengen von CloudWatch Logs-Daten kann zu hohen Nutzungsgebühren führen. Es empfiehlt sich, AWS-Budgets zum Nachverfolgen von Ausgaben und Nutzung zu verwenden. Anleitungen finden Sie unter Wie kann ich AWS-Budgets verwenden, um meine Ausgaben und Nutzung zu verfolgen?
Lösung
Hinweis: Wenn Sie beim Ausführen von Befehlen von AWS Command Line Interface (AWS CLI) Fehlermeldungen erhalten, stellen Sie sicher, dass Sie die neueste AWS-CLI-Version verwenden.
1. Um CloudWatch Logs die Berechtigung zum Aufrufen Ihrer Lambda-Funktion zu gewähren, führen Sie den AWS-CLI-Befehl add-permission ähnlich dem Folgenden aus:
aws lambda add-permission \ --function-name "helloworld" \ --statement-id "helloworld" \ --principal "logs.amazonaws.com" \ --action "lambda:InvokeFunction" \ --source-arn "arn:aws:logs:region:123456789123:log-group:YourLogGroup:*" \ --source-account "123456789012"
Wichtig: Ersetzen Sie „helloworld“ durch Ihren Lambda-Funktionsnamen, „YourLogGroup“ durch Ihre Protokollgruppe und die Beispielkontonummer durch Ihr Konto.
2. Erstellen Sie mit dem AWS CLI-Befehl put-subscription-filter einen Abonnementfilter, um Protokollereignisse zu senden, die ein Schlüsselwort enthalten. Im folgenden Beispiel wird das Schlüsselwort „ERROR“ für die Lambda-Funktion verwendet:
Wichtig: Ersetzen Sie „YourLogGroup“ durch Ihre Protokollgruppe und die Beispielkontonummer durch Ihr Konto.
aws logs put-subscription-filter \ --log-group-name YourLogGroup \ --filter-name demo \ --filter-pattern "ERROR" \ --destination-arn arn:aws:lambda:region:123456789123:function:helloworld
Die CloudWatch-Protokollgruppe „YourLogGroup“ ruft die Lambda-Funktion auf, wenn sie ein Protokollereignis empfängt, das das Schlüsselwort „ERROR“ ähnlich dem Folgenden enthält:
{ "awslogs": { "data": "H4sIAAAAAAAAAHWPwQqCQBCGX0Xm7EFtK+smZBEUgXoLCdMhFtKV3akI8d0bLYmibvPPN3wz00CJxmQnTO41whwWQRIctmEcB6sQbFC3CjW3XW8kxpOpP+OC22d1Wml1qZkQGtoMsScxaczKN3plG8zlaHIta5KqWsozoTYw3/djzwhpLwivWFGHGpAFe7DL68JlBUk+l7KSN7tCOEJ4M3/qOI49vMHj+zCKdlFqLaU2ZHV2a4Ct/an0/ivdX8oYc1UVX860fQDQiMdxRQEAAA==" } }
Ähnliche Informationen

Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 3 Jahren
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 2 Jahren