Schritt 1. Erstellen einer JSON-Konfigurationsdatei - AWS Glue

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.

Schritt 1. Erstellen einer JSON-Konfigurationsdatei

Zum Definieren und Beschreiben Ihrer benutzerdefinierten visuellen Transformation ist eine JSON-Konfigurationsdatei erforderlich. Das Schema für die Konfigurationsdatei lautet wie folgt.

JSON-Dateistruktur

Felder

  • name: string – (erforderlich) der Transformationssystemname, der zum Identifizieren von Transformationen verwendet wird. Befolgen Sie dieselben Benennungsregeln, die für Python-Variablennamen (Bezeichner) festgelegt wurden. Sie müssen insbesondere entweder mit einem Buchstaben oder einem Unterstrich beginnen und dann vollständig aus Buchstaben, Ziffern und/oder Unterstrichen bestehen.

  • displayName: string – (optional) der Name der Transformation, der im visuellen AWS Glue Studio-Auftrags-Editor angezeigt wird. Wenn displayName nicht angegeben ist, wird name als Name der Transformation in AWS Glue Studio verwendet.

  • description: string – (optional) Die Transformationsbeschreibung wird in AWS Glue Studio angezeigt und ist durchsuchbar.

  • functionName: string – (erforderlich) Der Python-Funktionsname wird verwendet, um die aufzurufende Funktion im Python-Skript zu identifizieren.

  • path: string – (optional) der vollständige Amazon-S3-Pfad zur Python-Quelldatei. Wenn nicht angegeben, verwendet AWS Glue den Dateinamensabgleich, um die JSON- und PY-Dateien miteinander zu koppeln. Beispielsweise wird der Name der JSON-Datei, myTransform.json, mit der Python-Datei, myTransform.py, am selben Amazon-S3-Speicherort gekoppelt.

  • parameters: Array of TransformParameter object – (optional) die Liste der Parameter, die angezeigt werden sollen, wenn Sie sie im visuellen AWS Glue Studio-Editor konfigurieren.

TransformParameter-Felder

  • name: string – (erforderlich) der Parametername, der als benanntes Argument im Auftragsskript an die Python-Funktion übergeben wird. Befolgen Sie dieselben Benennungsregeln, die für Python-Variablennamen (Bezeichner) festgelegt wurden. Sie müssen insbesondere entweder mit einem Buchstaben oder einem Unterstrich beginnen und dann vollständig aus Buchstaben, Ziffern und/oder Unterstrichen bestehen.

  • displayName: string – (optional) der Name der Transformation, der im visuellen AWS Glue Studio-Auftrags-Editor angezeigt wird. Wenn displayName nicht angegeben ist, wird name als Name der Transformation in AWS Glue Studio verwendet.

  • type: string – (erforderlich) der Parametertyp, der gängige Python-Datentypen akzeptiert. Gültige Werte: 'str' | 'int' | 'float' | 'list' | 'bool'.

  • isOptional: boolean – (optional) bestimmt, ob der Parameter optional ist. Standardmäßig sind alle Parameter erforderlich.

  • description: string – (optional) Beschreibung wird in AWS Glue Studio angezeigt, um den Benutzer bei der Konfiguration des Transformationsparameters zu unterstützen.

  • validationType: string – (optional) definiert, wie dieser Parameter validiert wird. Derzeit werden nur reguläre Ausdrücke unterstützt. Standardmäßig ist der Validierungstyp auf RegularExpression festgelegt.

  • validationRule: string – (optional) regulärer Ausdruck, der verwendet wird, um die Formulareingabe vor dem Absenden zu validieren, wenn validationType auf RegularExpression festgelegt ist. Die Syntax regulärer Ausdrücke muss mit den Ecmascript-Spezifikationen für RegExp kompatibel sein.

  • validationMessage: string – (optional) die Meldung, die angezeigt werden soll, wenn die Validierung fehlschlägt.

  • listOptions: An array of TransformParameterListOption object ODER eine string oder der Zeichenfolgenwert „column“ – (optionale) Optionen zur Anzeige im Select- oder Multiselect-UI-Steuerelement. Diese akzeptieren eine Liste mit kommagetrennten Werten oder ein stark typisiertes JSON-Objekt vom Typ TransformParameterListOption. Es kann auch die Liste der Spalten aus dem übergeordneten Knotenschema dynamisch füllen, indem der Zeichenfolgenwert „column“ angegeben wird.

  • listType: string – (optional) Definieren Sie Optionstypen für den Typ = 'list'. Gültige Werte: 'str' | 'int' | 'float' | 'list' | 'bool'. Parametertyp, der gängige Python-Datentypen akzeptiert.

TransformParameterListOption-Felder

  • value: string | int | float | bool – (erforderlich) Optionswert

  • label: string – (optional) Optionsbezeichnung, die in der Auswahl-Dropdown-Liste angezeigt wird

Transformieren von Parametern in AWS Glue Studio

Standardmäßig sind Parameter erforderlich, es sei denn, sie sind in der JSON-Datei als isOptional gekennzeichnet. In AWS Glue Studio werden die Parameter auf der Registerkarte Transform (Transformieren) angezeigt. Das Beispiel zeigt benutzerdefinierte Parameter wie E-Mail-Adresse, Telefonnummer, Ihr Alter, Ihr Geschlecht und Ihr Herkunftsland.

Der Screenshot zeigt eine ausgewählte benutzerdefinierte visuelle Transformation und die Registerkarte „Transform“ (Transformieren) mit benutzerdefinierten Parametern.

Sie können einige Validierungen in AWS Glue Studio erzwingen, indem Sie reguläre Ausdrücke in der JSON-Datei verwenden, indem Sie den validationRule-Parameter und eine Validierungsnachricht in validationMessage angeben.

"validationRule": "^\\(?(\\d{3})\\)?[- ]?(\\d{3})[- ]?(\\d{4})$", "validationMessage": "Please enter a valid US number"
Anmerkung

Da die Validierung im Browser erfolgt, muss Ihre Syntax für reguläre Ausdrücke mit den Ecmascript-Spezifikationen für RegExp kompatibel sein. Die Python-Syntax wird für diese regulären Ausdrücke nicht unterstützt.

Durch das Hinzufügen einer Validierung wird verhindert, dass der Benutzer den Auftrag mit falschen Benutzereingaben speichert. AWS Glue Studio zeigt die Validierungsmeldung wie im Beispiel dargestellt an:

Der Screenshot zeigt einen Parameter für benutzerdefinierte visuelle Transformationen mit einer Validierungsfehlermeldung: Geben Sie eine gültige E-Mail-Adresse ein.

Parameter werden basierend auf der Parameterkonfiguration in AWS Glue Studio angezeigt.

  • Wenn type einer der folgenden Werte ist, z. B. str, int oder float, dann wird ein Texteingabefeld angezeigt. Der Screenshot zeigt beispielsweise Eingabefelder für die Parameter „E-Mail-Adresse“ und „Ihr Alter“.

    Der Screenshot zeigt einen Parameter für benutzerdefinierte visuelle Transformationen mit Texteingabefeld.
    Der Screenshot zeigt einen Parameter für benutzerdefinierte visuelle Transformationen mit Texteingabefeld.
  • Wenn type gleich bool ist, wird ein Kontrollkästchen angezeigt.

    Der Screenshot zeigt einen Parameter für benutzerdefinierte visuelle Transformationen mit Texteingabefeld.
  • Wenn type gleich str ist und listOptions angegeben wird, wird eine einzelne Auswahlliste angezeigt.

    Der Screenshot zeigt einen Parameter für benutzerdefinierte visuelle Transformationen mit einer Dropdown-Liste mit einer einzelnen Auswahlliste.
  • Wenn type gleich list ist und listOptions und listType angegeben sind, wird eine Mehrfachauswahlliste angezeigt.

    Der Screenshot zeigt einen Parameter für benutzerdefinierte visuelle Transformationen mit einer Dropdown-Liste.

Anzeige einer Spaltenauswahl als Parameter

Wenn die Konfiguration erfordert, dass der Benutzer eine Spalte aus dem Schema auswählt, können Sie eine Spaltenauswahl anzeigen, sodass der Benutzer den Spaltennamen nicht eingeben muss. Durch Festlegen des listOptions-Felds auf „column“ zeigt AWS Glue Studio dynamisch eine Spaltenauswahl basierend auf dem Ausgabeschema des übergeordneten Knotens an. AWS Glue Studio kann entweder eine Einzelspaltenauswahl oder eine Mehrfachspaltenauswahl anzeigen.

Im folgenden Beispiel wird das Schema verwendet:

Der Screenshot zeigt ein Beispiel eines Ausgabeschemas.
So definieren Sie Ihren benutzerdefinierten visuellen Transformationsparameter für die Anzeige einer einzelnen Spalte:
  1. Legen Sie in Ihrer JSON-Datei für das parameters-Objekt den listOptions-Wert auf „column“ fest. Dadurch kann ein Benutzer eine Spalte aus einer Auswahlliste in AWS Glue Studio auswählen.

    Der Screenshot zeigt eine Beispiel-JSON-Datei mit dem listOptions-Parameter auf „column“ und der resultierenden Benutzeroberfläche in In AWS Glue Studio.
  2. Sie können auch die Auswahl mehrerer Spalten zulassen, indem Sie den Parameter wie folgt definieren:

    • listOptions: "column"

    • type: "list"

    Der Screenshot zeigt eine Beispiel-JSON-Datei mit dem Parameter listOptions auf „column“ und dem Typ auf „list“ sowie die resultierende Benutzeroberfläche in AWS Glue Studio.