本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
CreateWorkflow
可讓您建立工作流程,其中包含檔案傳輸完成後工作流程叫用的指定步驟和步驟詳細資訊。建立工作流程之後,您可以在 CreateServer
和 UpdateServer
操作中指定 workflow-details
欄位,將建立的工作流程與任何傳輸伺服器建立關聯。
請求語法
{
"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
"
}
]
}
請求參數
如需所有動作的一般參數資訊,請參閱《Common Parameters》。
請求接受採用 JSON 格式的下列資料。
- Description
-
工作流程的文字描述。
類型:字串
長度限制:長度下限為 0。長度上限為 256。
模式:
[\w- ]*
必要:否
- OnExceptionSteps
-
指定工作流程執行期間遇到錯誤時要採取的步驟 (動作)。
注意
對於自訂步驟,Lambda 函數需要傳送
FAILURE
至回呼 API 以啟動例外狀況步驟。此外,如果 Lambda 未在逾時SUCCESS
之前傳送,則會執行例外步驟。類型:WorkflowStep 物件陣列
陣列成員:項目數下限為 0。最多 8 個項目數。
必要:否
- Steps
-
指定在指定工作流程中步驟的詳細資訊。
TYPE
指定要針對此步驟採取下列哪些動作。-
COPY
- 將檔案複製到另一個位置。 -
CUSTOM
-使用 AWS Lambda 函數目標執行自訂步驟。 -
DECRYPT
- 解密上傳前已加密的檔案。 -
DELETE
- 刪除檔案。 -
TAG
- 在檔案中新增標籤。
注意
目前,僅 S3 支援複製和標記。
對於檔案位置,您可以指定 Amazon S3 儲存貯體和金鑰,或指定 Amazon EFS 檔案系統識別碼和路徑。
類型:WorkflowStep 物件陣列
陣列成員:項目數下限為 0。最多 8 個項目數。
必要:是
-
- Tags
-
鍵/值對,可用來分組和搜尋工作流程。標籤是基於任何用途連接到工作流程的中繼資料。
類型:Tag 物件陣列
陣列成員:項目數下限為 1。項目數上限為 50。
必要:否
回應語法
{
"WorkflowId": "string"
}
回應元素
如果動作成功,則服務傳回 HTTP 200 回應。
服務會傳回下列 JSON 格式的資料。
- WorkflowId
-
工作流程的唯一識別碼。
類型:字串
長度約束:固定長度為 19。
模式:
w-([a-z0-9]{17})
錯誤
如需所有動作常見錯誤的資訊,請參閱常見錯誤。
- AccessDeniedException
-
您沒有足夠存取權可執行此動作。
HTTP 狀態碼:400
- InternalServiceError
-
當在 AWS Transfer Family 服務中發生錯誤時,拋出此異常。
HTTP 狀態碼:500
- InvalidRequestException
-
當客戶端提交格式錯誤的請求時,拋出此異常。
HTTP 狀態碼:400
- ResourceExistsException
-
請求的資源不存在,或存在於為命令指定的區域以外的區域中。
HTTP 狀態碼:400
- ServiceUnavailableException
-
申請失敗,因為 AWS Transfer Family 服務不可用。
HTTP 狀態碼:500
- ThrottlingException
-
由於請求調節,因此請求遭到拒絕。
HTTP 狀態碼:400
範例
範例
您可以將工作流程步驟資訊儲存到文字檔案中,然後使用該檔案來建立工作流程,如下列範例所示。下列範例假設您已將工作流程步驟儲存至
example-file.json
(與您執行命令的相同資料夾中),且您想要在維吉尼亞北部 (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}" } } ]
範例
CreateWorkflow
呼叫會傳回新工作流程的工作流程 ID。
回應範例
{
"WorkflowId": "w-1234abcd5678efghi"
}
另請參閱
如需在其中一個特定語言 AWS SDK 中使用此 API 的詳細資訊,請參閱下列內容: