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.
Erstellen einer Pipeline mithilfe parametrisierter Vorlagen
Sie können eine Pipeline-Definition anhand einer parametrisierten Vorlage anpassen. Auf diese Weise können Sie eine gemeinsame Pipeline-Definition erstellen, aber unterschiedliche Parameter konfigurieren, wenn Sie die Pipeline-Definition zu einer neuen Pipeline hinzufügen.
Inhalt
MyVariables zur Pipeline-Definition hinzufügen
Geben Sie beim Erstellen der Pipeline-Definitionsdatei mithilfe der folgenden Syntax Variablen an: #{myVariable
}. Der Variablen muss my
vorangestellt werden. Die folgende Pipeline-Definitionsdateipipeline-definition.json
, enthält beispielsweise die folgenden Variablen: myShellCmd
, myS3 InputLoc
und OutputLocmyS3
.
Anmerkung
In einer Pipeline-Definition sind maximal 50 Parameter zulässig.
{ "objects": [ { "id": "ShellCommandActivityObj", "input": { "ref": "S3InputLocation" }, "name": "ShellCommandActivityObj", "runsOn": { "ref": "EC2ResourceObj" }, "command": "#{
myShellCmd
}", "output": { "ref": "S3OutputLocation" }, "type": "ShellCommandActivity", "stage": "true" }, { "id": "Default", "scheduleType": "CRON", "failureAndRerunMode": "CASCADE", "schedule": { "ref": "Schedule_15mins" }, "name": "Default", "role": "DataPipelineDefaultRole", "resourceRole": "DataPipelineDefaultResourceRole" }, { "id": "S3InputLocation", "name": "S3InputLocation", "directoryPath": "#{myS3InputLoc
}", "type": "S3DataNode" }, { "id": "S3OutputLocation", "name": "S3OutputLocation", "directoryPath": "#{myS3OutputLoc
}/#{format(@scheduledStartTime, 'YYYY-MM-dd-HH-mm-ss')}", "type": "S3DataNode" }, { "id": "Schedule_15mins", "occurrences": "4", "name": "Every 15 minutes", "startAt": "FIRST_ACTIVATION_DATE_TIME", "type": "Schedule", "period": "15 Minutes" }, { "terminateAfter": "20 Minutes", "id": "EC2ResourceObj", "name": "EC2ResourceObj", "instanceType":"t1.micro", "type": "Ec2Resource" } ] }
Definieren Sie Parameterobjekte
Sie können eine separate Datei mit Parameterobjekten erstellen, um die Variablen in Ihrer Pipeline-Definition zu definieren. Die folgende JSON-Datei,parameters.json
, enthält beispielsweise Parameterobjekte für die OutputLoc Variablen myShellCmd
, myS3 InputLoc
und myS3
aus der obigen Beispiel-Pipeline-Definition.
{ "parameters": [ { "id": "
myShellCmd
", "description": "Shell command to run", "type": "String", "default": "grep -rc \"GET\" ${INPUT1_STAGING_DIR}/* > ${OUTPUT1_STAGING_DIR}/output.txt" }, { "id": "myS3InputLoc
", "description": "S3 input location", "type": "AWS::S3::ObjectKey", "default": "s3://us-east-1.elasticmapreduce.samples/pig-apache-logs/data" }, { "id": "myS3OutputLoc
", "description": "S3 output location", "type": "AWS::S3::ObjectKey" } ] }
Anmerkung
Sie können diese Objekte der Pipeline-Definitionsdatei anstatt über eine separate Datei auch direkt hinzufügen.
Die folgende Tabelle beschreibt die Attribute für Parameterobjekte.
Parameterattribute | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Attribut | Typ | Beschreibung | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
id |
Zeichenfolge | Der eindeutige Bezeichner des Parameters. Wenn der Wert bei der Eingabe oder Anzeige maskiert werden soll, fügen Sie als Präfix ein Sternchen ('*') hinzu. Zum Beispiel *myVariable —. Dabei ist zu beachten, dass der Wert dadurch auch verschlüsselt wird, bevor er durch AWS Data Pipeline gespeichert wird. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
description | Zeichenfolge | Eine Beschreibung des Parameters. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
type | Zeichenfolge, Ganzzahl, Double oder AWS::S3::ObjectKey | Der Parametertyp zur Definition des zulässigen Bereichs von Eingabewerten und Validierungsregeln. Der Standardwert ist eine Zeichenfolge. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
optional | Boolesch | Gibt an, ob der Parameter optional oder erforderlich ist. Der Standardwert ist false . |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
allowedValues | Liste von Zeichenfolgen | Listet alle zulässigen Werte für den Parameter auf. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
default | Zeichenfolge | Der Standardwert für den Parameter. Wenn Sie mithilfe von Parameterwerten einen Wert für diesen Parameter angeben, wird der Standardwert durch ihn überschrieben. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
isArray | Boolesch | Gibt an, ob der Parameter ein Array ist. |
Definieren von Parameterwerten
Sie können eine separate Datei zur Definition von Variablen mithilfe von Parameterwerten erstellen. Die folgende JSON-Datei,file://values.json
, enthält beispielsweise den Wert für die OutputLocmyS3-Variable
aus der obigen Beispiel-Pipeline-Definition.
{ "values": { "myS3OutputLoc": "
myOutputLocation
" } }
Einreichung der Pipeline-Definition
Wenn Sie Ihre Pipeline-Definition senden, können Sie Parameter, Parameterobjekte und Parameterwerte angeben. Sie können den put-pipeline-definitionAWS CLIBefehl beispielsweise wie folgt verwenden:
$ aws datapipeline put-pipeline-definition --pipeline-id
id
--pipeline-definition file://pipeline-definition.json
\ --parameter-objects file://parameters.json
--parameter-values-uri file://values.json
Anmerkung
In einer Pipeline-Definition sind maximal 50 Parameter zulässig. Die Größe der Datei für parameter-values-uri
darf maximal 15 kB betragen.