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입니다.

패턴: [\w- ]*

Required: No

OnExceptionSteps

워크플로를 실행하는 동안 오류가 발생할 경우 수행할 단계(작업)를 지정합니다.

참고

사용자 지정 단계의 경우 Lambda 함수가 콜백 API로 FAILURE를 전송하여 예외 단계를 시작해야 합니다. 또한 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" }

응답 요소

작업이 성공하면 서비스가 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" }

참고

언어별 AWS SDK 중 하나에서 이 API를 사용하는 방법에 대한 자세한 내용은 다음을 참조하십시오.