Syntaxe du fichier de définition du pipeline - AWS Data Pipeline

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.

Syntaxe du fichier de définition du pipeline

Les instructions contenues dans cette section concernent l'utilisation manuelle des fichiers de définition de pipeline à l'aide de l'interface de ligne de commande AWS Data Pipeline. Il s'agit d'une autre solution par rapport à la conception d'un pipeline de façon interactive à l'aide de la console AWS Data Pipeline.

Vous pouvez créer manuellement les fichiers de définition de pipeline (à l'aide de n'importe quel éditeur de texte qui prend en charge l'enregistrement des fichiers au format UTF-8) et soumettre les fichiers via l'interface de ligne de commande AWS Data Pipeline.

AWS Data Pipeline prend également en charge une grande variété d'expressions et de fonctions complexes dans les définitions de pipeline. Pour plus d'informations, veuillez consulter Expressions et fonctions de pipeline.

Structure de fichier

La première étape dans la création de la définition de pipeline consiste à composer des objets de définition de pipeline dans un fichier de définition de pipeline. L'exemple suivant illustre la structure générale d'un fichier de définition de pipeline. Ce fichier définit deux objets, qui sont délimités par « { » et « }' », et séparés par une virgule.

Dans l'exemple suivant, le premier objet définit deux paires nom-valeur, appelées champs. Le deuxième objet définit trois champs.

{ "objects" : [ { "name1" : "value1", "name2" : "value2" }, { "name1" : "value3", "name3" : "value4", "name4" : "value5" } ] }

Lors de la création d'un fichier de définition de pipeline, vous devez sélectionner les types d'objets de pipeline dont vous aurez besoin, les ajouter au fichier de définition de pipeline, puis ajouter les champs appropriés. Pour en savoir plus sur les objets de pipeline, consultez Référence d'objet de pipeline.

Par exemple, vous pouvez créer un objet de définition de pipeline pour un nœud de données d'entrée et un autre pour le nœud de données de sortie. Créez ensuite un autre objet de définition de pipeline pour une activité, par exemple en traitant les données d'entrée à l'aide d'Amazon EMR.

Champs de pipeline

Une fois que vous connaissez les types d'objet à inclure dans votre fichier de définition de pipeline, ajoutez des champs à la définition de chaque objet de pipeline. Les noms de champs sont entre guillemets, et séparés des valeurs de champs par un espace, deux points et un espace, comme illustré dans l'exemple suivant.

"name" : "value"

La valeur de champ peut être une chaîne de texte, une référence à un autre objet, un appel de fonction, une expression ou une liste triée de l'un des types précédents. Pour plus d'informations sur les types de données qui peuvent être utilisés pour les valeurs de champs, consultez Types de données simples. Pour plus d'informations sur les fonctions que vous pouvez utiliser pour évaluer les valeurs de champs, consultez Evaluation d'expression.

Les champs sont limités à 2 048 caractères. Les objets peuvent être de 20 Ko, ce qui signifie que vous ne pouvez pas ajouter plusieurs larges champs à un objet.

Chaque objet de pipeline doit contenir les champs suivants : id et type, comme indiqué dans l'exemple suivant. D'autres champs peuvent également être requis en fonction du type d'objet. Sélectionnez une valeur id qui est significative pour vous et unique dans la définition de pipeline. La valeur type spécifie le type de l'objet. Spécifiez l'un des types d'objet de définition de pipeline pris en charge, qui sont énumérés dans la rubrique Référence d'objet de pipeline.

{ "id": "MyCopyToS3", "type": "CopyActivity" }

Pour plus d'informations sur les champs obligatoires et facultatifs de chaque objet, consultez la documentation de l'objet.

Pour inclure des champs d'un objet dans un autre objet, utilisez le champ parent avec une référence à l'objet. Par exemple, l'objet « B » comprend ses champs, « B1 » et « B2 », ainsi que les champs d'objet « A », « A1 » et « A2 ».

{ "id" : "A", "A1" : "value", "A2" : "value" }, { "id" : "B", "parent" : {"ref" : "A"}, "B1" : "value", "B2" : "value" }

Vous pouvez définir des champs courants dans un objet avec l'ID « Par défaut ». Ces champs sont automatiquement inclus dans chaque objet du fichier de définition de pipeline qui ne définit pas explicitement son champ parent pour référencer un autre objet.

{ "id" : "Default", "onFail" : {"ref" : "FailureNotification"}, "maximumRetries" : "3", "workerGroup" : "myWorkerGroup" }

Champs définis par l'utilisateur

Vous pouvez créer des champs définis par l'utilisateur ou des champs personnalisés sur vos composants de pipeline et faites-y référence avec des expressions. L'exemple suivant montre un champ personnalisé nommé myCustomField et my_customFieldReference ajouté à un DataNode objet S3 :

{ "id": "S3DataInput", "type": "S3DataNode", "schedule": {"ref": "TheSchedule"}, "filePath": "s3://bucket_name", "myCustomField": "This is a custom value in a custom field.", "my_customFieldReference": {"ref":"AnotherPipelineComponent"} },

Un champ défini par l'utilisateur doit comporter un nom préfixé avec le mot « my » en minuscules, suivi d'une majuscule ou d'un caractère de soulignement. De plus, un champ défini par l'utilisateur peut être une valeur chaîne comme l'exemple myCustomField précédent, ou une référence à un autre composant de pipeline comme l'exemple my_customFieldReference précédent.

Note

Sur les champs définis par l'utilisateur, AWS Data Pipeline ne vérifie que les références valides à d'autres composants de pipeline, et non toutes les valeurs de chaîne de champ personnalisé que vous ajoutez.