기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
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
"
}
]
}
요청 파라미터
모든 작업에 공통되는 파라미터에 대한 내용은 공통 파라미터를 참조하십시오.
요청은 JSON 형식의 다음 데이터를 수락합니다.
- Description
-
워크플로에 대한 텍스트 설명입니다.
타입: 문자열
길이 제약: 최소 길이는 0. 최대 길이는 256입니다.
Pattern:
[\w- ]*
Required: No
- OnExceptionSteps
-
워크플로를 실행하는 동안 오류가 발생할 경우 수행할 단계(작업)를 지정합니다.
참고
사용자 지정 단계의 경우 Lambda 함수는 예외 단계를 시작하려면
FAILURE
콜백API으로 를 보내야 합니다. 또한 Lambda가 제한 시간이 초과되기 전에SUCCESS
를 전송하지 않는 경우 예외 단계가 실행됩니다.타입: WorkflowStep 객체 배열
배열 멤버: 최소 항목 수는 0개입니다. 최대 항목 수는 8개입니다.
필수 여부: 아니요
- Steps
-
지정된 워크플로에 있는 단계에 대한 세부 정보를 지정합니다.
TYPE
이(가) 다음 중 이 단계에서 취해야 할 작업을 지정합니다.-
COPY
- 다른 위치에 파일을 복사합니다. -
CUSTOM
- AWS Lambda 함수 대상으로 사용자 지정 단계를 수행합니다. -
DECRYPT
- 업로드되기 전에 암호화된 파일을 복호화합니다. -
DELETE
- 파일을 삭제합니다. -
TAG
- 파일에 태그를 추가합니다.
참고
현재 복사 및 태그 지정은 S3에서만 지원됩니다.
파일 위치의 경우 Amazon S3 버킷 및 키 또는 Amazon EFS 파일 시스템 ID 및 경로를 지정합니다.
유형: WorkflowStep객체 어레이
배열 멤버: 최소 항목 수는 0개입니다. 최대 항목 수는 8개입니다.
필수 여부: 예
-
- Tags
-
워크플로 그룹화 및 검색에 사용될 수 있는 키-값 쌍입니다. 태그는 어떠한 목적으로 워크플로에 연결되는 메타데이터입니다.
타입: Tag 객체 배열
배열 멤버: 최소 항목 수는 1개입니다. 최대 항목 수는 50개입니다.
필수 여부: 아니요
응답 구문
{
"WorkflowId": "string"
}
Response Elements
작업이 성공하면 서비스가 HTTP 200개의 응답을 다시 보냅니다.
다음 데이터는 서비스에서 JSON 형식으로 반환됩니다.
- WorkflowId
-
워크플로의 고유 식별자입니다.
타입: 문자열
길이 제약 조건: 고정 길이는 19입니다.
패턴:
w-([a-z0-9]{17})
Errors
모든 작업에서 공통적으로 발생하는 오류에 대한 자세한 내용은 일반적인 오류 섹션을 참조하세요.
- 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"
}
참고
언어별 중 하나API에서 이 를 사용하는 방법에 대한 자세한 내용은 다음을 AWS SDKs참조하세요.