AWS Data Pipeline ist für Neukunden nicht mehr verfügbar. Bestehende Kunden von AWS Data Pipeline können den Service weiterhin wie gewohnt nutzen. Weitere Informationen
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.
Syntax der Pipeline-Definitionsdatei
Die Anleitungen in diesem Abschnitt sind für das manuelle Arbeiten mit Pipeline-Definitionsdateien über die AWS Data Pipeline-Befehlszeilenschnittstelle (CLI) bestimmt. Dies ist eine Alternative zur interaktiven Entwicklung einer Pipeline über die AWS Data Pipeline-Konsole.
Sie können Pipeline-Definitionsdateien mit jedem beliebigen Texteditor manuell erstellen, der das Speichern von Dateien im UTF-8-Dateiformat und das Senden der Dateien über die AWS Data Pipeline-Befehlszeilenschnittstelle unterstützt.
AWS Data Pipeline unterstützt in Pipeline-Definitionen auch eine Vielzahl von komplexen Ausdrücken und Funktionen. Weitere Informationen finden Sie unter Pipeline-Ausdrücke und -Funktionen.
Dateistruktur
Der erste Schritt bei der Erstellung einer Pipeline besteht darin, Pipeline-Definitionsobjekte in einer Pipeline-Definitionsdatei zu verfassen. Im folgenden Beispiel wird die allgemeine Struktur einer Pipeline-Definitionsdatei veranschaulicht. Diese Datei definiert zwei Objekte, die durch '{' und '}' begrenzt und durch ein Komma getrennt werden.
Im folgenden Beispiel definiert das erste Objekt zwei Namen-Wert-Paare, die als Felder bezeichnet werden. Das zweite Objekt definiert drei Felder.
{ "objects" : [ { "name1" : "value1", "name2" : "value2" }, { "name1" : "value3", "name3" : "value4", "name4" : "value5" } ] }
Beim Erstellen einer Pipeline-Definitionsdatei müssen Sie die erforderlichen Typen von Pipeline-Objekten auswählen, sie der Pipeline-Definitionsdatei hinzufügen und dann die entsprechenden Felder hinzufügen. Weitere Informationen zu Pipeline-Objekten finden Sie unter Pipeline-Objektreferenz.
So können Sie beispielsweise ein Pipeline-Definitionsobjekt für einen Eingabedatenknoten und ein anderes für den Ausgabedatenknoten erstellen. Erstellen Sie dann ein weiteres Pipeline-Definitionsobjekt für eine Aktivität, z. B. die Verarbeitung der Eingabedaten mit Amazon EMR.
Pipeline-Felder
Wenn Sie wissen, welche Objekttypen in Ihre Pipeline-Definitionsdatei aufzunehmen sind, fügen Sie die betreffenden Felder zur Definition der einzelnen Pipeline-Objekte hinzu. Feldnamen stehen in Anführungszeichen und sind wie im folgenden Beispiel veranschaulicht durch ein Leerzeichen, einen Doppelpunkt und ein Leerzeichen von den Feldwerten getrennt.
"name" : "value"
Bei dem Feldwert kann es sich um eine Zeichenfolge, einen Verweis auf ein anderes Objekt, einen Funktionsaufruf, einen Ausdruck oder eine geordnete Liste beliebiger der oben genannten Typen handeln. Weitere Informationen über die Arten von Daten, die für Feldwerte verwendet werden können, finden Sie unter Einfache Datentypen. Weitere Informationen zu Funktionen, die zur Auswertung von Feldwerten verwendet werden können, finden Sie unter Ausdrucksauswertung.
Felder sind auf 2048 Zeichen begrenzt. Da die Größe von Objekten 20 KB betragen kann, können einem Objekt nicht viele große Feder hinzugefügt werden.
Jedes Pipeline-Objekt muss die folgenden Felder enthalten: id
und type
, wie im folgenden Beispiel dargestellt. Je nach Objekttyp werden möglicherweise noch andere Felder benötigt. Wählen Sie einen Wert für id
aus, der für Sie bedeutsam und in der Pipeline-Definition eindeutig ist. Der Wert für type
gibt den Typ des Objekts an. Geben Sie einen der unterstützten Objekttypen für die Pipeline-Definition ein, die im Thema Pipeline-Objektreferenz aufgelistet werden.
{
"id": "MyCopyToS3",
"type": "CopyActivity"
}
Weitere Informationen zu den erforderlichen und optionalen Feldern eines jeden Objekts finden Sie in der Dokumentation für das Objekt.
Wenn Sie Felder aus einem Objekt in ein anderes Objekt einschließen möchten, verwenden Sie das Feld parent
mit einem Verweis auf das Objekt. Beispiel: Objekt „B“ enthält seine Felder, „B1“ und „B2“, sowie die Felder von Objekt „A“, „A1“ und „A2“.
{ "id" : "A", "A1" : "value", "A2" : "value" }, { "id" : "B", "parent" : {"ref" : "A"}, "B1" : "value", "B2" : "value" }
Sie können gemeinsame Felder in einem Objekt mit der ID „Default“ definieren. Diese Felder werden automatisch in die Pipeline-Definitionsdatei eines jeden Objekts eingeschlossen, sofern für das Feld parent
nicht ausdrücklich ein Verweis auf ein anderes Objekt festgelegt ist.
{
"id" : "Default",
"onFail" : {"ref" : "FailureNotification"},
"maximumRetries" : "3",
"workerGroup" : "myWorkerGroup"
}
Benutzerdefinierte Felder
Sie können für Ihre Pipeline-Komponenten benutzerdefinierte Felder erstellen und mit Ausdrücken auf sie verweisen. Das folgende Beispiel zeigt ein benutzerdefiniertes Feld, das einem DataNode S3-Objekt benannt myCustomField
und diesem my_customFieldReference
hinzugefügt wurde:
{
"id": "S3DataInput",
"type": "S3DataNode",
"schedule": {"ref": "TheSchedule"},
"filePath": "s3://bucket_name",
"myCustomField": "This is a custom value in a custom field.",
"my_customFieldReference": {"ref":"AnotherPipelineComponent"}
},
Der Name eines benutzerdefinierten Feldes muss als Präfix das Wort „my“ in Kleinbuchstaben gefolgt von einem Großbuchstaben und einem Unterstrich besitzen. Darüber hinaus kann ein benutzerdefiniertes Feld wie im voranstehenden myCustomField
-Beispiel ein Zeichenfolgenwert oder wie im voranstehenden my_customFieldReference
-Beispiel ein Verweis auf eine andere Pipeline-Komponente sein.
Anmerkung
AWS Data Pipeline prüft benutzerdefinierte Felder nur auf gültige Verweise auf andere Pipeline-Komponenten und nicht auf von Ihnen in benutzerdefinierten Feldern hinzugefügte Zeichenfolgenwerte.