Exemplos de AWS Data Pipeline usando a AWS CLI - AWS Command Line Interface

Exemplos de AWS Data Pipeline usando a AWS CLI

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS Command Line Interface com o AWS Data Pipeline.

Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar funções de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.

Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.

Tópicos

Ações

O código de exemplo a seguir mostra como usar activate-pipeline.

AWS CLI

Para ativar um pipeline

Este exemplo ativa o pipeline especificado:

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

Para ativar o pipeline em uma data e hora específicas, use o seguinte comando:

aws datapipeline activate-pipeline --pipeline-id df-00627471SOVYZEXAMPLE --start-timestamp 2015-04-07T00:00:00Z
  • Para ver detalhes da API, consulte ActivatePipeline na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar add-tags.

AWS CLI

Para adicionar uma tag a um pipeline

Este exemplo adiciona a tag especificada ao pipeline especificado:

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

Para visualizar as tags, use o comando describe-pipelines. Por exemplo, as tags adicionadas no comando de exemplo aparecem da seguinte forma na saída de describe-pipelines:

{ ... "tags": [ { "value": "production", "key": "environment" }, { "value": "sales", "key": "owner" } ] ... }
  • Para ver detalhes da API, consulte AddTags na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar create-pipeline.

AWS CLI

Para criar um pipeline

Este exemplo cria um pipeline:

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

A seguir está um exemplo de saída:

{ "pipelineId": "df-00627471SOVYZEXAMPLE" }
  • Para ver detalhes da API, consulte CreatePipeline na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar deactivate-pipeline.

AWS CLI

Para desativar um pipeline

Este exemplo desativa o pipeline especificado:

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

Para desativar o pipeline somente depois que todas as atividades em execução forem concluídas, use o seguinte comando:

aws datapipeline deactivate-pipeline --pipeline-id df-00627471SOVYZEXAMPLE --no-cancel-active
  • Para ver detalhes da API, consulte DeactivatePipeline na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar delete-pipeline.

AWS CLI

Para excluir um pipeline

Este exemplo exclui o pipeline especificado:

aws datapipeline delete-pipeline --pipeline-id df-00627471SOVYZEXAMPLE
  • Para ver detalhes da API, consulte DeletePipeline na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar describe-pipelines.

AWS CLI

Para descrever seus pipelines

Este exemplo descreve o pipeline especificado:

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

A seguir está um exemplo de saída:

{ "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": [] } ] }
  • Para ver detalhes da API, consulte DescribePipelines na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar get-pipeline-definition.

AWS CLI

Para obter uma definição de pipeline

Este exemplo obtém a definição do pipeline especificado:

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

A seguir está um exemplo de saída:

{ "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://my-s3-bucket/", "myS3InputLoc": "s3://us-east-1.elasticmapreduce.samples/pig-apache-logs/data", "myShellCmd": "grep -rc \"GET\" ${INPUT1_STAGING_DIR}/* > ${OUTPUT1_STAGING_DIR}/output.txt" } }

O código de exemplo a seguir mostra como usar list-pipelines.

AWS CLI

Para listar seus pipelines

Este exemplo lista seus pipelines:

aws datapipeline list-pipelines

A seguir está um exemplo de saída:

{ "pipelineIdList": [ { "id": "df-00627471SOVYZEXAMPLE", "name": "my-pipeline" }, { "id": "df-09028963KNVMREXAMPLE", "name": "ImportDDB" }, { "id": "df-0870198233ZYVEXAMPLE", "name": "CrossRegionDDB" }, { "id": "df-00189603TB4MZEXAMPLE", "name": "CopyRedshift" } ] }
  • Para ver detalhes da API, consulte ListPipelines na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar list-runs.

AWS CLI

Exemplo 1: listar as execuções do seu pipeline

O exemplo list-runs a seguir lista as execuções do pipeline especificado.

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

Saída:

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

Exemplo 2: listar as execuções do pipeline entre as datas especificadas

O exemplo list-runs a seguir usa o --start-interval para especificar as datas a serem incluídas na saída.

aws datapipeline list-runs --pipeline-id df-01434553B58A2SHZUKO5 --start-interval 2017-10-07T00:00:00,2017-10-08T00:00:00
  • Para ver detalhes da API, consulte ListRuns na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar put-pipeline-definition.

AWS CLI

Para carregar uma definição de pipeline

Este exemplo carrega a definição do pipeline especificado no pipeline especificado:

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

A seguir está um exemplo de saída:

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

O código de exemplo a seguir mostra como usar remove-tags.

AWS CLI

Para remover uma tag de um pipeline

Esse exemplo remove a tag especificada do pipeline especificado:

aws datapipeline remove-tags --pipeline-id df-00627471SOVYZEXAMPLE --tag-keys environment
  • Para ver detalhes da API, consulte RemoveTags na Referência de comandos da AWS CLI.