2017-08-24 3 views
0

Ich versuche AWS Glue zu verwenden, um einen ETL-Job auszuführen, der Daten von Redshift nach S3 holt.AWS CloudWatch-Protokolle werden nicht erstellt

  1. Wenn ich einen Crawler starte, stellt er erfolgreich eine Verbindung zu Redshift her und ruft Schemainformationen ab. Relevante Protokolle werden unter einer Protokollgruppe aws-glue/crawlers erstellt.

  2. Wenn ich den ETL-Job ausführe, soll er einen Protokolldatenstrom unter den Protokollgruppen aws-glue/jobs/output und aws-glue/jobs/error erstellen, aber es kann keine solchen Protokolldatenströme erzeugen der Job scheitert auch.

(ich bin mit AWS verwaltet AWSGlueServiceRole Politik für Kleber-Service)

Da es keine Protokolle produziert, ist es schwierig, den Grund für ETL-Job Versagen zu identifizieren. Ich würde es begrüßen, wenn Sie mir helfen könnten, dieses Problem zu lösen.

Antwort

1

Meistens hat dies damit zu tun, dass Ihr AWS-Dienst nicht über die richtigen Berechtigungen verfügt (ja, sogar nur um Protokolle zu schreiben!).

so etwas wie diese Rolle des Klebers Hinzufügen könnte den Trick tun:

{ "Version": "2012.10.17", "Statement": [{ "Effect": „Erlauben “ "Aktion": [ "Protokolle: CreateLogGroup", "Protokolle: CreateLogStream", "Protokolle: PutLogEvents" ], "Ressource": "arn: aws: Protokolle: :: *" } ] }

+0

Ich habe bereits eine ähnliche Richtlinie hinzugefügt. Wenn Sie einen ETL-Job von S3 bis S3 ausführen, werden Protokolle erfolgreich erstellt. Das Problem besteht darin, dass beim Ausführen des ETL-Jobs von Aurora (in einer VPC) nach S3 keine Protokolle erstellt werden. –

Verwandte Themen