AWS Data Pipeline non è più disponibile per i nuovi clienti. Clienti esistenti di AWS Data Pipeline possono continuare a utilizzare il servizio normalmente. Ulteriori informazioni
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Creazione di una pipeline utilizzando modelli parametrizzati
È possibile utilizzare un modello parametrizzato per personalizzare una definizione di pipeline. In questo modo è possibile creare una definizione di pipeline comune offrendo diversi parametri quando si aggiunge la definizione di pipeline a una nuova pipeline.
Indice
Aggiungi myVariables alla definizione della pipeline
Quando si crea il file di definizione della pipeline, specificare le variabili utilizzando la sintassi seguente: #{myVariable
}. È necessario che la variabile abbia il prefisso my
. Ad esempio, il seguente file di definizione della pipeline include le seguenti variabili:
myShellCmd
MyS3 e MyS3 InputLoc
. pipeline-definition.json
OutputLoc
Nota
Una definizione di pipeline dispone di un limite massimo di 50 parametri.
{ "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" } ] }
Definire oggetti parametrici
È possibile creare un file separato con gli oggetti dei parametri che definisca le variabili della definizione della pipeline. Ad esempio, il seguente file JSON contiene oggetti parameters.json
parametrici per le OutputLoc variabili myShellCmd
, MyS3 e
della InputLoc definizione della pipeline di esempio sopra riportata.MyS3
{ "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" } ] }
Nota
È possibile aggiungere questi oggetti direttamente al file di definizione della pipeline invece di utilizzare un file separato.
La tabella seguente descrive gli attributi per gli oggetti dei parametri.
Attributi dei parametri | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Attributo | Type (Tipo) | Descrizione | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
id |
Stringa | Identificatore univoco del parametro. Per mascherare il valore mentre è digitato o visualizzato, aggiungere un asterisco (*) come prefisso. Ad esempio, *myVariable —. Da notare che questo, inoltre, crittografa il valore prima di essere memorizzato da AWS Data Pipeline. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
description | Stringa | Descrizione del parametro. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
type | Stringa, numero intero, doppio o AWS::S3::ObjectKey | Il tipo di parametro che definisce l'intervallo consentito di valori di input e regole di convalida. L'impostazione predefinita è Stringa. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
facoltativo | Boolean | Indica se il parametro è obbligatorio o facoltativo. Il valore predefinito è false . |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
allowedValues | Elenco di stringhe | Enumera tutti i valori consentiti per il parametro. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
default | Stringa | Il valore predefinito per il parametro. Se si specifica un valore per questo parametro utilizzando i valori dei parametri, sostituisce il valore di default. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
isArray | Boolean | Indica se il parametro è un array. |
Definire i valori di parametro
È possibile creare un file separato per definire le variabili utilizzando i valori dei parametri. Ad esempio, il seguente file JSON contiene il valore per la OutputLoc variabile MyS3
dalla definizione di pipeline di esempio sopra riportata. file://values.json
{ "values": { "myS3OutputLoc": "
myOutputLocation
" } }
Invio della definizione della pipeline
Quando si invia la definizione di pipeline, è possibile specificare i parametri, gli oggetti dei parametri e i valori dei parametri. Ad esempio, puoi usare il put-pipeline-definitionAWS CLIcomando come segue:
$ 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
Nota
Una definizione di pipeline dispone di un limite massimo di 50 parametri. La dimensione del file per parameter-values-uri
dispone di un limite massimo di 15 KB.