CreateWorkflow - AWS Transfer Family

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

CreateWorkflow

파일 전송이 완료된 후 워크플로가 호출하는 지정된 단계 및 단계 세부 정보를 사용하여 워크플로를 생성할 수 있습니다. 워크플로를 생성한 후 CreateServerUpdateServer 작업에서 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참조하세요.