AWS Data Pipeline esempi utilizzando AWS CLI - AWS Command Line Interface

Questa documentazione è valida AWS CLI solo per la versione 1.

Abbiamo annunciato l' end-of-supportimminente rilascio della AWS CLI versione 1. Ti consigliamo di migrare alla AWS CLI versione 2. Per date, dettagli aggiuntivi e informazioni su come effettuare la migrazione, consulta l'annuncio. Per la documentazione relativa alla versione 2 di AWS CLI, consulta la Guida per l'utente della versione 2.

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à.

AWS Data Pipeline esempi utilizzando AWS CLI

I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Command Line Interface with AWS Data Pipeline.

Le azioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.

Ogni esempio include un link al codice sorgente completo, in cui vengono fornite le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

Il seguente esempio di codice mostra come utilizzareactivate-pipeline.

AWS CLI

Come attivare una pipeline

Questo esempio attiva la pipeline specificata:

aws datapipeline activate-pipeline --pipeline-id df-00627471SOVYZEXAMPLE

Per attivare la pipeline a una data e a un’ora specifiche, utilizza il comando seguente:

aws datapipeline activate-pipeline --pipeline-id df-00627471SOVYZEXAMPLE --start-timestamp 2015-04-07T00:00:00Z

Il seguente esempio di codice mostra come utilizzareadd-tags.

AWS CLI

Come aggiungere un tag a una pipeline

Questo esempio aggiunge il tag specificato alla pipeline specificata:

aws datapipeline add-tags --pipeline-id df-00627471SOVYZEXAMPLE --tags key=environment,value=production key=owner,value=sales

Per visualizzare i tag, utilizza il comando describe-pipelines. Ad esempio, i tag aggiunti al comando example vengono visualizzati come segue nell’output di describe-pipelines:

{ ... "tags": [ { "value": "production", "key": "environment" }, { "value": "sales", "key": "owner" } ] ... }

Il seguente esempio di codice mostra come utilizzarecreate-pipeline.

AWS CLI

Come creare una pipeline

Questo esempio crea una pipeline:

aws datapipeline create-pipeline --name my-pipeline --unique-id my-pipeline-token

Di seguito è riportato un output di esempio:

{ "pipelineId": "df-00627471SOVYZEXAMPLE" }

Il seguente esempio di codice mostra come utilizzaredeactivate-pipeline.

AWS CLI

Come disattivare una pipeline

Questo esempio disattiva la pipeline specificata:

aws datapipeline deactivate-pipeline --pipeline-id df-00627471SOVYZEXAMPLE

Per disattivare la pipeline solo dopo che tutte le attività in esecuzione sono terminate, utilizza il comando seguente:

aws datapipeline deactivate-pipeline --pipeline-id df-00627471SOVYZEXAMPLE --no-cancel-active

Il seguente esempio di codice mostra come utilizzaredelete-pipeline.

AWS CLI

Come eliminare una pipeline

Questo esempio elimina la pipeline specificata:

aws datapipeline delete-pipeline --pipeline-id df-00627471SOVYZEXAMPLE

Il seguente esempio di codice mostra come utilizzaredescribe-pipelines.

AWS CLI

Come descrivere le pipeline

Questo esempio descrive come eliminare la pipeline specificata:

aws datapipeline describe-pipelines --pipeline-ids df-00627471SOVYZEXAMPLE

Di seguito è riportato un output di esempio:

{ "pipelineDescriptionList": [ { "fields": [ { "stringValue": "PENDING", "key": "@pipelineState" }, { "stringValue": "my-pipeline", "key": "name" }, { "stringValue": "2015-04-07T16:05:58", "key": "@creationTime" }, { "stringValue": "df-00627471SOVYZEXAMPLE", "key": "@id" }, { "stringValue": "123456789012", "key": "pipelineCreator" }, { "stringValue": "PIPELINE", "key": "@sphere" }, { "stringValue": "123456789012", "key": "@userId" }, { "stringValue": "123456789012", "key": "@accountId" }, { "stringValue": "my-pipeline-token", "key": "uniqueId" } ], "pipelineId": "df-00627471SOVYZEXAMPLE", "name": "my-pipeline", "tags": [] } ] }

Il seguente esempio di codice mostra come utilizzareget-pipeline-definition.

AWS CLI

Come ottenere una definizione di pipeline

L’esempio seguente riceve la definizione di pipeline per la pipeline specificata:

aws datapipeline get-pipeline-definition --pipeline-id df-00627471SOVYZEXAMPLE

Di seguito è riportato un output di esempio:

{ "parameters": [ { "type": "AWS::S3::ObjectKey", "id": "myS3OutputLoc", "description": "S3 output folder" }, { "default": "s3://us-east-1.elasticmapreduce.samples/pig-apache-logs/data", "type": "AWS::S3::ObjectKey", "id": "myS3InputLoc", "description": "S3 input folder" }, { "default": "grep -rc \"GET\" ${INPUT1_STAGING_DIR}/* > ${OUTPUT1_STAGING_DIR}/output.txt", "type": "String", "id": "myShellCmd", "description": "Shell command to run" } ], "objects": [ { "type": "Ec2Resource", "terminateAfter": "20 Minutes", "instanceType": "t1.micro", "id": "EC2ResourceObj", "name": "EC2ResourceObj" }, { "name": "Default", "failureAndRerunMode": "CASCADE", "resourceRole": "DataPipelineDefaultResourceRole", "schedule": { "ref": "DefaultSchedule" }, "role": "DataPipelineDefaultRole", "scheduleType": "cron", "id": "Default" }, { "directoryPath": "#{myS3OutputLoc}/#{format(@scheduledStartTime, 'YYYY-MM-dd-HH-mm-ss')}", "type": "S3DataNode", "id": "S3OutputLocation", "name": "S3OutputLocation" }, { "directoryPath": "#{myS3InputLoc}", "type": "S3DataNode", "id": "S3InputLocation", "name": "S3InputLocation" }, { "startAt": "FIRST_ACTIVATION_DATE_TIME", "name": "Every 15 minutes", "period": "15 minutes", "occurrences": "4", "type": "Schedule", "id": "DefaultSchedule" }, { "name": "ShellCommandActivityObj", "command": "#{myShellCmd}", "output": { "ref": "S3OutputLocation" }, "input": { "ref": "S3InputLocation" }, "stage": "true", "type": "ShellCommandActivity", "id": "ShellCommandActivityObj", "runsOn": { "ref": "EC2ResourceObj" } } ], "values": { "myS3OutputLoc": "s3://amzn-s3-demo-bucket/", "myS3InputLoc": "s3://us-east-1.elasticmapreduce.samples/pig-apache-logs/data", "myShellCmd": "grep -rc \"GET\" ${INPUT1_STAGING_DIR}/* > ${OUTPUT1_STAGING_DIR}/output.txt" } }

Il seguente esempio di codice mostra come utilizzarelist-pipelines.

AWS CLI

Come elencare le pipeline

Questo esempio elenca le pipeline:

aws datapipeline list-pipelines

Di seguito è riportato un output di esempio:

{ "pipelineIdList": [ { "id": "df-00627471SOVYZEXAMPLE", "name": "my-pipeline" }, { "id": "df-09028963KNVMREXAMPLE", "name": "ImportDDB" }, { "id": "df-0870198233ZYVEXAMPLE", "name": "CrossRegionDDB" }, { "id": "df-00189603TB4MZEXAMPLE", "name": "CopyRedshift" } ] }

Il seguente esempio di codice mostra come utilizzarelist-runs.

AWS CLI

Esempio 1: come elencare le esecuzioni della pipeline

L’esempio list-runs seguente elenca le esecuzioni per la pipeline specificata.

aws datapipeline list-runs --pipeline-id df-00627471SOVYZEXAMPLE

Output:

Name Scheduled Start Status ID Started Ended ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 1. EC2ResourceObj 2015-04-12T17:33:02 CREATING @EC2ResourceObj_2015-04-12T17:33:02 2015-04-12T17:33:10 2. S3InputLocation 2015-04-12T17:33:02 FINISHED @S3InputLocation_2015-04-12T17:33:02 2015-04-12T17:33:09 2015-04-12T17:33:09 3. S3OutputLocation 2015-04-12T17:33:02 WAITING_ON_DEPENDENCIES @S3OutputLocation_2015-04-12T17:33:02 2015-04-12T17:33:09 4. ShellCommandActivityObj 2015-04-12T17:33:02 WAITING_FOR_RUNNER @ShellCommandActivityObj_2015-04-12T17:33:02 2015-04-12T17:33:09

Esempio 2: come elencare le esecuzioni della pipeline tra le date specificate

L’esempio list-runs seguente utilizza --start-interval per specificare le date da includere nell’output.

aws datapipeline list-runs --pipeline-id df-01434553B58A2SHZUKO5 --start-interval 2017-10-07T00:00:00,2017-10-08T00:00:00

Il seguente esempio di codice mostra come utilizzareput-pipeline-definition.

AWS CLI

Come caricare una definizione di pipeline

Questo esempio carica la definizione della pipeline specificata nella pipeline specificata:

aws datapipeline put-pipeline-definition --pipeline-id df-00627471SOVYZEXAMPLE --pipeline-definition file://my-pipeline-definition.json

Di seguito è riportato un output di esempio:

{ "validationErrors": [], "errored": false, "validationWarnings": [] }

Il seguente esempio di codice mostra come utilizzareremove-tags.

AWS CLI

Come rimuovere un tag da una pipeline

Questo esempio rimuove il tag specificato dalla pipeline specificata:

aws datapipeline remove-tags --pipeline-id df-00627471SOVYZEXAMPLE --tag-keys environment