

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.

# Beheben von Blueprint-Fehlern in AWS Glue
<a name="blueprint_workflow_troubleshoot"></a>

Sollten bei der Verwendung von AWS Glue-Blueprints Fehler auftreten, können Sie die folgenden Lösungen nutzen, um die Ursachen der Probleme zu finden und sie zu beheben.

**Topics**
+ [Fehler: PySpark Modul fehlt](#blueprint-workflow-error-1)
+ [Fehler: Blueprint-Konfigurationsdatei fehlt](#blueprint-workflow-error-2)
+ [Fehler: fehlende importierte Datei](#blueprint-workflow-error-3)
+ [Fehler iamPassRole : nicht autorisiert, auf der Ressource zu arbeiten](#blueprint-workflow-error-4)
+ [Fehler: Ungültiger Cron-Zeitplan](#blueprint-workflow-error-5)
+ [Fehler: Ein Auslöser mit demselben Namen ist bereits vorhanden](#blueprint-workflow-error-6)
+ [Fehler: Workflow mit Name: foo ist bereits vorhanden.](#blueprint-workflow-error-7)
+ [Fehler: Modul im angegebenen layoutGenerator-Pfad nicht gefunden](#blueprint-workflow-error-8)
+ [Fehler: Validierungsfehler im Feld „Connections“ (Verbindungen)](#blueprint-workflow-error-9)

## Fehler: PySpark Modul fehlt
<a name="blueprint-workflow-error-1"></a>

AWS Gluegibt den Fehler „Unbekannter Fehler beim Ausführen der Layoutgeneratorfunktion ModuleNotFoundError: Kein Modul namens 'pyspark'“ zurück.

Wenn Sie das Blueprint-Archiv entpacken, sind zwei Szenarien möglich:

```
$ unzip compaction.zip 
Archive:  compaction.zip
   creating: compaction/
  inflating: compaction/blueprint.cfg  
  inflating: compaction/layout.py    
  inflating: compaction/README.md    
  inflating: compaction/compaction.py   
  
$ unzip compaction.zip
Archive:  compaction.zip
  inflating: blueprint.cfg           
  inflating: compaction.py           
  inflating: layout.py               
  inflating: README.md
```

Im ersten Fall wurden alle zugehörigen Blueprint-Dateien unter einem Ordner namens „compaction“ (Komprimierung) abgelegt, der dann in eine ZIP-Datei namens *compaction.zip* konvertiert wurde.

Im zweiten Fall wurden alle für den Blueprint benötigten Dateien nicht in einen Ordner aufgenommen und als Stammdateien in die ZIP-Datei *compaction.zip* eingefügt.

Das Erstellen einer Datei in einem der oben genannten Formate ist erlaubt. Stellen Sie jedoch sicher, dass `blueprint.cfg` den richtigen Pfad zum Namen der Funktion in dem Skript hat, das das Layout generiert.

**Beispiele**  
In Fall 1: `blueprint.cfg` sollte `layoutGenerator` wie folgt enthalten:

```
layoutGenerator": "compaction.layout.generate_layout"
```

In Fall 2: `blueprint.cfg` sollte `layoutGenerator` wie folgt enthalten:

```
layoutGenerator": "layout.generate_layout" 
```

Wenn dieser Pfad nicht korrekt enthalten ist, könnte wie angegeben ein Fehler angezeigt werden. Wenn Sie beispielsweise die Ordnerstruktur wie in Fall 2 haben und den `layoutGenerator` wie in Fall 1, sehen Sie wahrscheinlich die obige Fehlermeldung.

## Fehler: Blueprint-Konfigurationsdatei fehlt
<a name="blueprint-workflow-error-2"></a>

AWS Gluegibt den Fehler „Unbekannter Fehler beim Ausführen der Layoutgenerator-Funktion FileNotFoundError: [Errno 2] Keine solche Datei oder kein solches Verzeichnis: '/ tmp/compaction/blueprint .cfg'“ zurück.

Die blueprint.cfg sollte auf der Stammebene des ZIP-Archivs oder in einem Ordner platziert werden, der den gleichen Namen wie das ZIP-Archiv hat.

Wenn wir das Blueprint-ZIP-Archiv extrahieren, wird erwartet, dass sich die blueprint.cfg in einem der folgenden Pfade befindet. Wenn es nicht in einem der folgenden Pfade gefunden wird, sehen Sie wahrscheinlich die obige Fehlermeldung.

```
$ unzip compaction.zip 
Archive:  compaction.zip
   creating: compaction/
  inflating: compaction/blueprint.cfg  
  
$ unzip compaction.zip
Archive:  compaction.zip
  inflating: blueprint.cfg
```

## Fehler: fehlende importierte Datei
<a name="blueprint-workflow-error-3"></a>

AWS Gluegibt den Fehler „Unbekannter Fehler beim Ausführen der Layoutgenerator-Funktion FileNotFoundError: [Errno 2] Keine solche Datei oder kein solches Verzeichnis: \$1 \$1'demo-project/foo.py'“ zurück.

Wenn Ihr Skript zur Layoutgenerierung Funktionen zum Lesen anderer Dateien hat, stellen Sie sicher, dass Sie einen vollständigen Pfad für die zu importierende Datei angeben. Beispielsweise kann das Skript „Conversion.py“ in Layout.py referenziert werden. Weitere Informationen finden Sie unter [Blueprint-Beispielprojekt](https://docs.aws.amazon.com/glue/latest/dg/developing-blueprints-sample.html).

## Fehler iamPassRole : nicht autorisiert, auf der Ressource zu arbeiten
<a name="blueprint-workflow-error-4"></a>

AWS Gluegibt den Fehler „User: arn:aws:sts: :123456789012:assumed-“ zurück role/AWSGlueServiceRole/GlueSession is not authorized to perform: iam:PassRole on resource: arn:aws:iam::123456789012:role/AWSGlueServiceRole

Wenn die Aufträge und Crawler im Workflow dieselbe Rolle übernehmen, die zum Erstellen des Workflows vom Blueprint übergeben wurde, muss die Blueprint-Rolle die Berechtigung `iam:PassRole` für sich selbst enthalten.

Wenn die Aufträge und Crawler im Workflow eine Rolle übernehmen, die sich von der Rolle unterscheidet, die zum Erstellen der Entitäten des Workflows vom Blueprint übergeben wurde, muss die Blueprint-Rolle die Berechtigung `iam:PassRole` für diese andere Rolle enthalten.

Weitere Informationen finden Sie unter [Berechtigungen für Blueprint-Rollen](https://docs.aws.amazon.com/glue/latest/dg/blueprints-personas-permissions.html#blueprints-role-permissions).

## Fehler: Ungültiger Cron-Zeitplan
<a name="blueprint-workflow-error-5"></a>

AWS Glue gibt den Fehler „The schedule cron(0 0 \$1 \$1 \$1 \$1) is invalid“ zurück.

Stellen Sie einen gültigen [cron](https://en.wikipedia.org/wiki/Cron)-Ausdruck bereit. Weitere Informationen finden Sie unter [Zeitbasierte Pläne für Aufträge und Crawler](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html).

## Fehler: Ein Auslöser mit demselben Namen ist bereits vorhanden
<a name="blueprint-workflow-error-6"></a>

AWS Glue gibt den Fehler „Trigger with name 'foo\$1starting\$1trigger' already submitted with different configuration“ zurück.

Für einen Blueprint müssen Sie keine Auslöser im Layoutskript für die Workflow-Erstellung definieren. Die Auslösererstellung wird von der Blueprint-Bibliothek verwaltet und basiert auf den Abhängigkeiten, die zwischen zwei Aktionen definiert sind. 

Die Auslöser werden wie folgt benannt:
+ Für den Startauslöser im Workflow lautet das Namensformat <workflow\$1name>\$1starting\$1trigger.
+ Für einen Knoten (Auftrag/Crawler) im Workflow, der vom Abschluss eines oder mehrerer vorgelagerter Knoten abhängt, definiert AWS Glue einen Auslöser mit dem Namen <workflow\$1name>\$1<node\$1name>\$1trigger.

Dieser Fehler bedeutet, dass bereits ein Auslöser mit demselben Namen vorhanden ist. Sie können den vorhandenen Auslöser löschen und die Workflow-Erstellung erneut ausführen.

**Anmerkung**  
Beim Löschen eines Workflows werden die Knoten im Workflow nicht gelöscht. Es ist möglich, dass beim Löschen eines Workflows Auslöser zurückbleiben. Sie können deshalb nicht die Fehlermeldung erhalten, dass ein Workflow bereits vorhanden ist. Es ist aber möglich, dass Sie die Fehlermeldung erhalten, dass ein Auslöser bereits vorhanden ist. Dies kann passieren, wenn Sie einen Workflow erstellen, wieder löschen und dann versuchen, ihn mit demselben Namen auf der Grundlage desselben Blueprints neu zu erstellen.

## Fehler: Workflow mit Name: foo ist bereits vorhanden.
<a name="blueprint-workflow-error-7"></a>

Der Workflow-Name muss eindeutig sein. Geben Sie einen anderen Namen ein.

## Fehler: Modul im angegebenen layoutGenerator-Pfad nicht gefunden
<a name="blueprint-workflow-error-8"></a>

AWS Gluegibt den Fehler „Unbekannter Fehler beim Ausführen der Layoutgenerator-Funktion: Kein Modul namens 'crawl\$1s3\$1locations'“ zurück. ModuleNotFoundError

```
layoutGenerator": "crawl_s3_locations.layout.generate_layout"
```

Wenn Sie beispielsweise den obigen layoutGenerator-Pfad haben, muss dieser beim Entpacken des Blueprint-Archivs wie folgt aussehen:

```
$ unzip crawl_s3_locations.zip 
Archive:  crawl_s3_locations.zip
   creating: crawl_s3_locations/
  inflating: crawl_s3_locations/blueprint.cfg  
  inflating: crawl_s3_locations/layout.py    
  inflating: crawl_s3_locations/README.md
```

Wenn Sie ein Blueprint-Archiv entpacken, das wie folgt aussieht, können Sie den obigen Fehler erhalten.

```
$ unzip crawl_s3_locations.zip
Archive:  crawl_s3_locations.zip
  inflating: blueprint.cfg           
  inflating: layout.py               
  inflating: README.md
```

Sie können sehen, dass kein Ordner namens `crawl_s3_locations` vorhanden ist, und wenn der Pfad `layoutGenerator` über das Modul`crawl_s3_locations` auf die Layoutdatei verweist, können Sie die obige Fehlermeldung erhalten.

## Fehler: Validierungsfehler im Feld „Connections“ (Verbindungen)
<a name="blueprint-workflow-error-9"></a>

AWS Glue<class 'dict'>gibt den Fehler „Unbekannter Fehler bei der Ausführung der Layoutgenerator-Funktion zurück TypeError: Der Wert ['foo'] für die Tastenverbindungen sollte vom Typ sein\$1“.

Dies ist ein Validierungsfehler. Im Feld `Connections` in der `Job`-Klasse wird statt dem erwarteten Wörterbuch eine Liste von Werten bereitgestellt. Dies verursacht den Fehler.

```
User input was list of values
Connections= ['string']

Should be a dict like the following
Connections*=*{'Connections': ['string']}
```

Um diese Laufzeitfehler beim Erstellen eines Workflows anhand eines Blueprints zu vermeiden, können Sie die Workflow-, Auftrags- und Crawlerdefinitionen überprüfen, wie in [Testen eines Blueprints](https://docs.aws.amazon.com/glue/latest/dg/developing-blueprints-testing.html) beschrieben.

In der [Referenz zu AWS Glue-Blueprint-Klassen](https://docs.aws.amazon.com/glue/latest/dg/developing-blueprints-code-classes.html) finden Sie Informationen zur Syntax beim Definieren von AWS Glue-Aufträgen, -Crawlern und -Workflows im Layoutskript.