Exemples d’utilisation de l’AWS CLI avec AWS Data Pipeline - AWS Command Line Interface

Exemples d’utilisation de l’AWS CLI avec AWS Data Pipeline

Les exemples de code suivants montrent comment réaliser des actions et mettre en œuvre des scénarios courants en utilisant l’AWS Command Line Interface avec AWS Data Pipeline.

Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la configuration et l’exécution du code en contexte.

Rubriques

Actions

L’exemple de code suivant montre comment utiliser activate-pipeline.

AWS CLI

Pour activer un pipeline

Cet exemple active le pipeline spécifié :

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

Pour activer le pipeline à une date et à une heure spécifiques, utilisez la commande suivante :

aws datapipeline activate-pipeline --pipeline-id df-00627471SOVYZEXAMPLE --start-timestamp 2015-04-07T00:00:00Z
  • Pour plus de détails sur l’API, consultez ActivatePipeline dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser add-tags.

AWS CLI

Pour ajouter une balise à un pipeline

Cet exemple ajoute la balise spécifiée au pipeline spécifié :

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

Pour afficher les balises, utilisez la commande describe-pipelines. Par exemple, les balises ajoutées dans l’exemple de commande apparaissent comme suit dans la sortie pour describe-pipelines :

{ ... "tags": [ { "value": "production", "key": "environment" }, { "value": "sales", "key": "owner" } ] ... }
  • Pour plus de détails sur l’API, consultez AddTags dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-pipeline.

AWS CLI

Pour créer un pipeline

Cet exemple crée un pipeline :

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

Voici un exemple de sortie :

{ "pipelineId": "df-00627471SOVYZEXAMPLE" }
  • Pour plus de détails sur l’API, consultez CreatePipeline dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser deactivate-pipeline.

AWS CLI

Pour désactiver un pipeline

Cet exemple désactive le pipeline spécifié :

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

Pour désactiver le pipeline uniquement à la fin de toutes les activités en cours d’exécution, utilisez la commande suivante :

aws datapipeline deactivate-pipeline --pipeline-id df-00627471SOVYZEXAMPLE --no-cancel-active
  • Pour plus de détails sur l’API, consultez DeactivatePipeline dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-pipeline.

AWS CLI

Pour supprimer un pipeline

Cet exemple supprime le pipeline spécifié :

aws datapipeline delete-pipeline --pipeline-id df-00627471SOVYZEXAMPLE
  • Pour plus de détails sur l’API, consultez DeletePipeline dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser describe-pipelines.

AWS CLI

Pour décrire vos pipelines

Cet exemple décrit le pipeline spécifié :

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

Voici un exemple de sortie :

{ "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": [] } ] }
  • Pour plus de détails sur l’API, consultez DescribePipelines dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-pipeline-definition.

AWS CLI

Pour obtenir la définition d’un pipeline

Cet exemple obtient la définition du pipeline spécifié.

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

Voici un exemple de sortie :

{ "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" } }
  • Pour plus de détails sur l’API, consultez GetPipelineDefinition dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-pipelines.

AWS CLI

Pour répertorier vos pipelines

Cet exemple répertorie vos pipelines :

aws datapipeline list-pipelines

Voici un exemple de sortie :

{ "pipelineIdList": [ { "id": "df-00627471SOVYZEXAMPLE", "name": "my-pipeline" }, { "id": "df-09028963KNVMREXAMPLE", "name": "ImportDDB" }, { "id": "df-0870198233ZYVEXAMPLE", "name": "CrossRegionDDB" }, { "id": "df-00189603TB4MZEXAMPLE", "name": "CopyRedshift" } ] }
  • Pour plus de détails sur l’API, consultez ListPipelines dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-runs.

AWS CLI

Exemple 1 : pour répertorier les exécutions de votre pipeline

L’exemple list-runs suivant répertorie les exécutions du pipeline spécifié.

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

Sortie :

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

Exemple 2 : pour répertorier les exécutions de votre pipeline entre les dates spécifiées

L’exemple list-runs suivant utilise --start-interval pour spécifier les dates à inclure dans la sortie.

aws datapipeline list-runs --pipeline-id df-01434553B58A2SHZUKO5 --start-interval 2017-10-07T00:00:00,2017-10-08T00:00:00
  • Pour plus de détails sur l’API, consultez ListRuns dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser put-pipeline-definition.

AWS CLI

Pour charger une définition de pipeline

Cet exemple charge la définition de pipeline spécifiée vers le pipeline spécifié :

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

Voici un exemple de sortie :

{ "validationErrors": [], "errored": false, "validationWarnings": [] }
  • Pour plus de détails sur l’API, consultez PutPipelineDefinition dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser remove-tags.

AWS CLI

Pour supprimer une balise d’un pipeline

Cet exemple supprime la balise spécifiée du pipeline spécifié :

aws datapipeline remove-tags --pipeline-id df-00627471SOVYZEXAMPLE --tag-keys environment
  • Pour plus de détails sur l’API, consultez RemoveTags dans la Référence des commandes de l’AWS CLI.