CreateWorkflow - AWS Transfer Family

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.

CreateWorkflow

Vous permet de créer un flux de travail avec des étapes spécifiées et des détails d'étape que le flux de travail appelle une fois le transfert de fichiers terminé. Après avoir créé un flux de travail, vous pouvez associer le flux de travail créé à n'importe quel serveur de transfert en spécifiant le champ workflow-details dans les opérations CreateServer et UpdateServer.

Syntaxe de la requête

{ "Description": "string", "OnExceptionSteps": [ { "CopyStepDetails": { "DestinationFileLocation": { "EfsFileLocation": { "FileSystemId": "string", "Path": "string" }, "S3FileLocation": { "Bucket": "string", "Key": "string" } }, "Name": "string", "OverwriteExisting": "string", "SourceFileLocation": "string" }, "CustomStepDetails": { "Name": "string", "SourceFileLocation": "string", "Target": "string", "TimeoutSeconds": number }, "DecryptStepDetails": { "DestinationFileLocation": { "EfsFileLocation": { "FileSystemId": "string", "Path": "string" }, "S3FileLocation": { "Bucket": "string", "Key": "string" } }, "Name": "string", "OverwriteExisting": "string", "SourceFileLocation": "string", "Type": "string" }, "DeleteStepDetails": { "Name": "string", "SourceFileLocation": "string" }, "TagStepDetails": { "Name": "string", "SourceFileLocation": "string", "Tags": [ { "Key": "string", "Value": "string" } ] }, "Type": "string" } ], "Steps": [ { "CopyStepDetails": { "DestinationFileLocation": { "EfsFileLocation": { "FileSystemId": "string", "Path": "string" }, "S3FileLocation": { "Bucket": "string", "Key": "string" } }, "Name": "string", "OverwriteExisting": "string", "SourceFileLocation": "string" }, "CustomStepDetails": { "Name": "string", "SourceFileLocation": "string", "Target": "string", "TimeoutSeconds": number }, "DecryptStepDetails": { "DestinationFileLocation": { "EfsFileLocation": { "FileSystemId": "string", "Path": "string" }, "S3FileLocation": { "Bucket": "string", "Key": "string" } }, "Name": "string", "OverwriteExisting": "string", "SourceFileLocation": "string", "Type": "string" }, "DeleteStepDetails": { "Name": "string", "SourceFileLocation": "string" }, "TagStepDetails": { "Name": "string", "SourceFileLocation": "string", "Tags": [ { "Key": "string", "Value": "string" } ] }, "Type": "string" } ], "Tags": [ { "Key": "string", "Value": "string" } ] }

Paramètres de demande

Pour plus d'informations sur les paramètres courants pour toutes les actions, consultez Paramètres courants.

Cette demande accepte les données suivantes au format JSON.

Description

Description textuelle du flux de travail.

Type : chaîne

Contraintes de longueur : Longueur minimum de 0. Longueur maximum de 256.

Modèle : [\w- ]*

Obligatoire : non

OnExceptionSteps

Spécifie les étapes (actions) à suivre en cas d'erreur lors de l'exécution du flux de travail.

Note

Pour les étapes personnalisées, la fonction Lambda doit être envoyée FAILURE à l'API de rappel pour lancer les étapes d'exception. De plus, si le Lambda n'envoie pas SUCCESS avant son expiration, les étapes d'exception sont exécutées.

Type : tableau d’objets WorkflowStep

Membres du tableau : nombre minimum de 0 élément. Nombre maximum de 8 articles.

Obligatoire : non

Steps

Spécifie les détails des étapes qui se trouvent dans le flux de travail spécifié.

TYPESpécifie laquelle des actions suivantes est entreprise pour cette étape.

  • COPY  : copier le fichier à un autre emplacement.

  • CUSTOM- Effectuez une étape personnalisée avec une AWS Lambda fonction cible.

  • DECRYPT  : déchiffrer un fichier chiffré avant d'être chargé.

  • DELETE  : supprimer le fichier.

  • TAG  : ajouter une balise au fichier.

Note

Actuellement, la copie et le balisage ne sont pris en charge que sur S3.

Pour l'emplacement des fichiers, vous spécifiez soit le compartiment et la clé Amazon S3, soit l'ID et le chemin du système de fichiers Amazon EFS.

Type : tableau d’objets WorkflowStep

Membres du tableau : nombre minimum de 0 élément. Nombre maximum de 8 articles.

Obligatoire : oui

Tags

Paires clé-valeur qui peuvent être utilisées pour regrouper et rechercher des flux de travail. Les balises sont des métadonnées associées aux flux de travail pour différents motifs.

Type : tableau d’objets Tag

Membres du tableau : Nombre minimum de 1 élément. Nombre maximal de 50 éléments.

Obligatoire : non

Syntaxe de la réponse

{ "WorkflowId": "string" }

Eléments de réponse

Si l’action aboutit, le service renvoie une réponse HTTP 200.

Les données suivantes sont renvoyées au format JSON par le service.

WorkflowId

Un identifiant unique pour le flux de travail.

Type : chaîne

Contraintes de longueur : longueur fixe de 19.

Modèle : w-([a-z0-9]{17})

Erreurs

Pour plus d'informations sur les erreurs courantes pour toutes les actions, consultez Erreurs courantes.

AccessDeniedException

Vous ne disposez pas d’un accès suffisant pour effectuer cette action.

Code d’état HTTP : 400

InternalServiceError

Cette exception est levée lorsqu'une erreur se produit dans le AWS Transfer Family service.

Code d’état HTTP : 500

InvalidRequestException

Cette exception est levée lorsque le client soumet une demande mal formée.

Code d’état HTTP : 400

ResourceExistsException

La ressource demandée n'existe pas ou existe dans une région autre que celle spécifiée pour la commande.

Code d’état HTTP : 400

ServiceUnavailableException

La demande a échoué car le service AWS Transfer Family n'est pas disponible.

Code d’état HTTP : 500

ThrottlingException

La demande a été refusée suite à une limitation des demandes.

Code d’état HTTP : 400

Exemples

Exemple

Vous pouvez enregistrer les informations relatives aux étapes du flux de travail dans un fichier texte, puis utiliser ce fichier pour créer un flux de travail, comme dans l'exemple suivant. L'exemple suivant suppose que vous avez enregistré les étapes de votre flux de travail dans example-file.json (dans le même dossier à partir duquel vous exécutez la commande), et que vous souhaitez créer le flux de travail dans la région Virginie du Nord (us-east-1).

aws transfer create-workflow --description "example workflow from a file" --steps file://example-file.json --region us-east-1
// Example file containing workflow steps [ { "Type": "TAG", "TagStepDetails": { "Name": "TagStep", "Tags": [ { "Key": "name", "Value": "testTag" } ] } }, { "Type": "COPY", "CopyStepDetails": { "Name": "CopyStep", "DestinationFileLocation": { "S3FileLocation": { "Bucket": "DOC-EXAMPLE-BUCKET", "Key": "DOC-EXAMPLE-KEY/" } }, "OverwriteExisting": "TRUE", "SourceFileLocation": "${original.file}" } }, { "Type": "DELETE", "DeleteStepDetails":{ "Name":"DeleteStep", "SourceFileLocation": "${original.file}" } } ]

Exemple

L'CreateWorkflowappel renvoie l'ID du nouveau flux de travail.

Exemple de réponse

{ "WorkflowId": "w-1234abcd5678efghi" }

consultez aussi

Pour plus d'informations sur l'utilisation de cette API dans l'un des AWS SDK spécifiques au langage, consultez les pages suivantes :