Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Copie des données CSV à l'aide de la ligne de commande - AWS Data Pipeline

AWS Data Pipeline n'est plus disponible pour les nouveaux clients. Les clients existants de AWS Data Pipeline peut continuer à utiliser le service normalement. En savoir plus

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

AWS Data Pipeline n'est plus disponible pour les nouveaux clients. Les clients existants de AWS Data Pipeline peut continuer à utiliser le service normalement. En savoir plus

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Copie des données CSV à l'aide de la ligne de commande

Vous pouvez créer et utiliser des pipelines pour copier des données d'un compartiment Amazon S3 vers un autre.

Prérequis

Avant de commencer, exécutez les étapes suivantes :

  1. Installez et configurez une interface de ligne de commande (CLI). Pour plus d'informations, veuillez consulter Accès AWS Data Pipeline.

  2. Assurez-vous que les rôles IAM sont nommés DataPipelineDefaultRoleet DataPipelineDefaultResourceRoleexistent. La AWS Data Pipeline console crée automatiquement ces rôles pour vous. Si vous n'avez pas utilisé la AWS Data Pipeline console au moins une fois, vous devez créer ces rôles manuellement. Pour plus d'informations, veuillez consulter Rôles IAM pour AWS Data Pipeline.

Définition d'un pipeline au format JSON

Cet exemple de scénario montre comment utiliser les définitions de pipeline JSON et l'AWS Data Pipelineinterface de ligne de commande pour planifier la copie de données entre deux compartiments Amazon S3 à un intervalle de temps spécifique. Voici le fichier JSON intégral de définition de pipeline, suivi d'une explication de chacune de ses sections.

Note

Nous vous recommandons d'utiliser un éditeur de texte qui peut vous aider à vérifier la syntaxe des fichiers au format JSON et de nommer le fichier avec l'extension .json.

Dans cet exemple, pour plus de clarté, nous ignorons les champs facultatifs et n'affichons que les champs obligatoires. Voici le fichier JSON complet de l'exemple :

{ "objects": [ { "id": "MySchedule", "type": "Schedule", "startDateTime": "2013-08-18T00:00:00", "endDateTime": "2013-08-19T00:00:00", "period": "1 day" }, { "id": "S3Input", "type": "S3DataNode", "schedule": { "ref": "MySchedule" }, "filePath": "s3://example-bucket/source/inputfile.csv" }, { "id": "S3Output", "type": "S3DataNode", "schedule": { "ref": "MySchedule" }, "filePath": "s3://example-bucket/destination/outputfile.csv" }, { "id": "MyEC2Resource", "type": "Ec2Resource", "schedule": { "ref": "MySchedule" }, "instanceType": "m1.medium", "role": "DataPipelineDefaultRole", "resourceRole": "DataPipelineDefaultResourceRole" }, { "id": "MyCopyActivity", "type": "CopyActivity", "runsOn": { "ref": "MyEC2Resource" }, "input": { "ref": "S3Input" }, "output": { "ref": "S3Output" }, "schedule": { "ref": "MySchedule" } } ] }

Planificateur

Le pipeline définit une planification avec une date de début et une date de fin, ainsi qu'une période pour déterminer la fréquence à laquelle l'activité du pipeline s'exécute.

{ "id": "MySchedule", "type": "Schedule", "startDateTime": "2013-08-18T00:00:00", "endDateTime": "2013-08-19T00:00:00", "period": "1 day" },

Nœuds de données Amazon S3

Ensuite, le composant du DataNode pipeline S3 d'entrée définit un emplacement pour les fichiers d'entrée ; dans ce cas, un emplacement de compartiment Amazon S3. Le DataNode composant S3 d'entrée est défini par les champs suivants :

{ "id": "S3Input", "type": "S3DataNode", "schedule": { "ref": "MySchedule" }, "filePath": "s3://example-bucket/source/inputfile.csv" },
Id

Nom défini par l'utilisateur de l'emplacement d'entrée (libellé fourni à titre de référence uniquement).

Type

Le type de composant du pipeline, qui est « S3 DataNode » pour correspondre à l'emplacement où se trouvent les données, dans un compartiment Amazon S3.

Planificateur

Une référence au composant de planification que nous avons créé dans les lignes précédentes du fichier JSON intitulé « MySchedule ».

Chemin

Chemin d'accès aux données associées au nœud de données. La syntaxe d'un nœud de données est déterminée par son type. Par exemple, la syntaxe d'un chemin Amazon S3 suit une syntaxe différente qui convient à une table de base de données.

Ensuite, le DataNode composant S3 de sortie définit l'emplacement de destination de sortie pour les données. Il suit le même format que le DataNode composant S3 d'entrée, à l'exception du nom du composant et d'un chemin différent pour indiquer le fichier cible.

{ "id": "S3Output", "type": "S3DataNode", "schedule": { "ref": "MySchedule" }, "filePath": "s3://example-bucket/destination/outputfile.csv" },

Ressource

Il s'agit d'une définition de la ressource de calcul qui exécute l'opération de copie. Dans cet exemple, AWS Data Pipeline doit automatiquement créer une instance EC2 pour effectuer la tâche de copie et mettre fin à la ressource une fois la tâche terminée. Les champs définis ici contrôlent la création et le fonctionnement de l'instance EC2 qui effectue le travail. Le composant EC2Resource est défini par les champs suivants :

{ "id": "MyEC2Resource", "type": "Ec2Resource", "schedule": { "ref": "MySchedule" }, "instanceType": "m1.medium", "role": "DataPipelineDefaultRole", "resourceRole": "DataPipelineDefaultResourceRole" },
Id

Nom défini par l'utilisateur pour la planification du pipeline (libellé fourni à titre de référence uniquement).

Type

Type de ressource de calcul pour effectuer le travail ; dans ce cas, une instance EC2. D'autres types de ressources sont disponibles, par exemple un EmrCluster type.

Planificateur

Planification sur laquelle créer la ressource de calcul.

instanceType

Taille de l'instance EC2 à créer. Assurez-vous que vous définissez pour l'instance EC2 la taille appropriée qui correspond le mieux à la charge du travail que vous souhaitez effectuer avec AWS Data Pipeline. Dans ce cas, nous avons défini une instance EC2 m1.medium. Pour plus d'informations sur les différents types d'instances et sur le moment de les utiliser, consultez la rubrique Types d'instances Amazon EC2 à l'adresse http://aws.amazon.com/ec2/instance-types/.

Rôle

Le rôle IAM du compte qui accède aux ressources, par exemple en accédant à un bucket Amazon S3 pour récupérer des données.

resourceRole

Rôle IAM du compte qui crée des ressources, comme la création et la configuration d'une instance EC2 en votre nom. Le rôle et le rôle ResourceRole peuvent être identiques, mais ils fournissent séparément une plus grande granularité dans votre configuration de sécurité.

Activité

La dernière section du fichier JSON correspond à la définition de l'activité représentant le travail à effectuer. Cet exemple permet CopyActivity de copier les données d'un fichier CSV d'un bucket http://aws.amazon.com/ec2/instance-types/ vers un autre. Le composant CopyActivity est défini par les champs suivants :

{ "id": "MyCopyActivity", "type": "CopyActivity", "runsOn": { "ref": "MyEC2Resource" }, "input": { "ref": "S3Input" }, "output": { "ref": "S3Output" }, "schedule": { "ref": "MySchedule" } }
Id

Nom défini par l'utilisateur pour l'activité (libellé fourni à titre de référence uniquement).

Type

Le type d'activité à effectuer, tel queMyCopyActivity.

runsOn

Ressource de calcul qui effectue le travail que cette activité définit. Dans cet exemple, nous fournissons une référence à l'instance EC2 définie précédemment. L'utilisation du champ runsOn entraîne la création automatique de l'instance EC2 par AWS Data Pipeline. Le champ runsOn indique que la ressource existe dans l'infrastructure AWS, tandis que la valeur workerGroup signifie que vous voulez utiliser vos propres ressources locales pour effectuer le travail.

Entrée

Emplacement des données à copier.

Sortie

Emplacement cible des données.

Planificateur

Planification d'exécution de cette activité.

Chargement et activation de la définition de pipeline

Vous devez charger la définition de votre pipeline et activer votre pipeline. Dans les exemples de commandes suivants, remplacez pipeline_name par une étiquette pour votre pipeline et pipeline_file par le chemin complet du fichier de définition du pipeline. .json

AWS CLI

Pour créer votre définition de pipeline et activer votre pipeline, utilisez la commande create-pipeline suivante. Notez l'ID de votre pipeline, car vous utiliserez cette valeur avec la plupart des commandes CLI.

aws datapipeline create-pipeline --name pipeline_name --unique-id token { "pipelineId": "df-00627471SOVYZEXAMPLE" }

Pour charger la définition de votre pipeline, utilisez la put-pipeline-definitioncommande suivante.

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

Si votre pipeline est validé avec succès, le validationErrors champ est vide. Vous devez consulter tous les avertissements.

Pour activer votre pipeline, utilisez la commande activate-pipeline suivante.

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

Vous pouvez vérifier que votre pipeline apparaît dans la liste des pipelines à l'aide de la commande list-pipelines suivante.

aws datapipeline list-pipelines
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.