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-timestamp2015-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
--tagskey=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-idmy-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" } }
-
Para ver detalhes da API, consulte GetPipelineDefinition
na Referência de comandos da AWS CLI.
-
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-interval2017-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-definitionfile://my-pipeline-definition.json
A seguir está um exemplo de saída:
{ "validationErrors": [], "errored": false, "validationWarnings": [] }
-
Consulte detalhes da API em PutPipelineDefinition
na Referência de comandos da AWS CLI.
-
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-keysenvironment
-
Para ver detalhes da API, consulte RemoveTags
na Referência de comandos da AWS CLI.
-