CreateWorkflow - AWS Transfer Family

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

CreateWorkflow

Consente di creare un flusso di lavoro con fasi e dettagli specifici che il flusso di lavoro richiama dopo il completamento del trasferimento dei file. Dopo aver creato un flusso di lavoro, è possibile associarlo a qualsiasi server di trasferimento specificando il campo workflow-details nelle operazioni CreateServer e UpdateServer.

Sintassi della richiesta

{ "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" } ] }

Parametri della richiesta

Per informazioni sui parametri comuni per tutte le azioni, consulta Parametri comuni.

La richiesta accetta i seguenti dati in formato JSON.

Description

Una descrizione testuale del flusso di lavoro.

▬Tipo: stringa

Limitazioni di lunghezza: lunghezza minima di 0. La lunghezza massima è 256 caratteri.

Modello: [\w- ]*

Campo obbligatorio: no

OnExceptionSteps

Specifica le fasi (azioni) da eseguire se durante l'esecuzione del flusso di lavoro si verificano eventuali errori.

Nota

Per i passaggi personalizzati, la funzione Lambda deve inviare FAILURE all'API di callback per avviare i passaggi di eccezione. Inoltre, se la Lambda non invia SUCCESS prima del timeout, vengono eseguiti i passaggi di eccezione.

Tipo: matrice di oggetti WorkflowStep

Membri dell'array: numero minimo di 0 elementi. Numero massimo di 8 elementi.

Campo obbligatorio: no

Steps

Specifica i dettagli delle fasi incluse nel flusso di lavoro specificato.

TYPEspecifica quale delle seguenti azioni viene intrapresa per questa fase.

  • COPY - Copiare il file in un'altra posizione.

  • CUSTOM- Esegue un passaggio personalizzato con un obiettivo di AWS Lambda funzione.

  • DECRYPT - Decrittografare un file crittografato prima che è stato caricato.

  • DELETE - Eliminare il file.

  • TAG - Aggiungere un tag al file.

Nota

Attualmente, la copia e l'etichettatura sono supportate solo su S3.

Per la posizione del file, è necessario specificare il bucket e la chiave Amazon S3 oppure l'ID e il percorso del file system Amazon EFS.

Tipo: matrice di oggetti WorkflowStep

Membri dell'array: numero minimo di 0 elementi. Numero massimo di 8 articoli.

Campo obbligatorio: sì

Tags

Le coppie chiave-valore che è possibile utilizzare per raggruppare e cercare i flussi di lavoro. I tag sono metadati associati ai flussi di lavoro per qualsiasi scopo.

Tipo: matrice di oggetti Tag

Membri dell’array: numero minimo di 1 elemento. Numero massimo di 50 item.

Campo obbligatorio: no

Sintassi della risposta

{ "WorkflowId": "string" }

Elementi di risposta

Se l'operazione riesce, il servizio restituisce una risposta HTTP 200.

I dati seguenti vengono restituiti in formato JSON mediante il servizio.

WorkflowId

Un identificatore univoco per il flusso di lavoro.

▬Tipo: stringa

Limiti di lunghezza: lunghezza fissa di 19.

Modello: w-([a-z0-9]{17})

Errori

Per informazioni sugli errori comuni a tutte le operazioni, consultare Errori comuni.

AccessDeniedException

Non disponi dell'autorizzazione di accesso sufficiente per eseguire questa operazione.

Codice di stato HTTP: 400

InternalServiceError

Questa eccezione viene generata quando si verifica un errore nel servizio. AWS Transfer Family

Codice di stato HTTP: 500

InvalidRequestException

Questa eccezione viene generata quando il client invia una richiesta non valida.

Codice di stato HTTP: 400

ResourceExistsException

La risorsa richiesta non esiste o esiste in una regione diversa da quella specificata per il comando.

Codice di stato HTTP: 400

ServiceUnavailableException

La richiesta non è riuscita perché il servizio AWS Transfer Family non è disponibile.

Codice di stato HTTP: 500

ThrottlingException

La richiesta è stata negata a causa del throttling della richiesta.

Codice di stato HTTP: 400

Esempi

Esempio

È possibile salvare le informazioni sulle fasi del flusso di lavoro in un file di testo e quindi utilizzare questo file per creare un flusso di lavoro, come mostrato nell'esempio seguente. Nell'esempio seguente si presuppone che le fasi del flusso di lavoro siano state salvate in example-file.json (nella stessa cartella da cui si esegue il comando) e che si desideri creare il flusso di lavoro nella Regione della Virginia settentrionale (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}" } } ]

Esempio

La CreateWorkflow chiamata restituisce l'ID del flusso di lavoro per il nuovo flusso di lavoro.

Risposta di esempio

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

Vedi anche

Per ulteriori informazioni sull'utilizzo di questa API in uno degli AWS SDK specifici della lingua, consulta quanto segue: