기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
템플릿에서 워크플로 생성
템플릿에서 워크플로와 서버를 생성하는 AWS CloudFormation 스택을 배포할 수 있습니다. 이 절차에는 워크플로를 빠르게 배포하는 데 사용할 수 있는 예가 포함되어 있습니다.
AWS Transfer Family 워크플로 및 서버를 생성하는 AWS CloudFormation 스택을 생성하려면
-
https://console.aws.amazon.com/cloudformation에서 AWS CloudFormation 콘솔을 엽니다.
-
다음 코드를 파일에 저장합니다.
- YAML
-
AWSTemplateFormatVersion: 2010-09-09
Resources:
SFTPServer:
Type: 'AWS::Transfer::Server'
Properties:
WorkflowDetails:
OnUpload:
- ExecutionRole: workflow-execution-role-arn
WorkflowId: !GetAtt
- TransferWorkflow
- WorkflowId
TransferWorkflow:
Type: AWS::Transfer::Workflow
Properties:
Description: Transfer Family Workflows Blog
Steps:
- Type: COPY
CopyStepDetails:
Name: copyToUserKey
DestinationFileLocation:
S3FileLocation:
Bucket: archived-records
Key: ${transfer:UserName}/
OverwriteExisting: 'TRUE'
- Type: TAG
TagStepDetails:
Name: tagFileForArchive
Tags:
- Key: Archive
Value: yes
- Type: CUSTOM
CustomStepDetails:
Name: transferExtract
Target: arn:aws:lambda:region
:account-id
:function:function-name
TimeoutSeconds: 60
- Type: DELETE
DeleteStepDetails:
Name: DeleteInputFile
SourceFileLocation: '${original.file}'
Tags:
- Key: Name
Value: TransferFamilyWorkflows
- JSON
-
{
"AWSTemplateFormatVersion": "2010-09-09",
"Resources": {
"SFTPServer": {
"Type": "AWS::Transfer::Server",
"Properties": {
"WorkflowDetails": {
"OnUpload": [
{
"ExecutionRole": "workflow-execution-role-arn
",
"WorkflowId": {
"Fn::GetAtt": [
"TransferWorkflow",
"WorkflowId"
]
}
}
]
}
}
},
"TransferWorkflow": {
"Type": "AWS::Transfer::Workflow",
"Properties": {
"Description": "Transfer Family Workflows Blog",
"Steps": [
{
"Type": "COPY",
"CopyStepDetails": {
"Name": "copyToUserKey",
"DestinationFileLocation": {
"S3FileLocation": {
"Bucket": "archived-records",
"Key": "${transfer:UserName}/"
}
},
"OverwriteExisting": "TRUE"
}
},
{
"Type": "TAG",
"TagStepDetails": {
"Name": "tagFileForArchive",
"Tags": [
{
"Key": "Archive",
"Value": "yes"
}
]
}
},
{
"Type": "CUSTOM",
"CustomStepDetails": {
"Name": "transferExtract",
"Target": "arn:aws:lambda:region
:account-id
:function:function-name
",
"TimeoutSeconds": 60
}
},
{
"Type": "DELETE",
"DeleteStepDetails": {
"Name": "DeleteInputFile",
"SourceFileLocation": "${original.file}"
}
}
],
"Tags": [
{
"Key": "Name",
"Value": "TransferFamilyWorkflows"
}
]
}
}
}
}
-
다음 항목을 실제 값으로 대체합니다.
-
Replace workflow-execution-role-arn
실제 워크플로 실행 역할ARN의 경우 를 사용합니다. 예제: arn:aws:transfer:us-east-2:111122223333:workflow/w-1234567890abcdef0
-
Lambda 함수의 ARN 를 arn:aws:lambda:region
:account-id
:function:function-name
로 바꿉니다. 예: arn:aws:lambda:us-east-2:123456789012:function:example-lambda-idp
.
-
AWS CloudFormation 사용 설명서의 AWS CloudFormation 스택 템플릿 선택 의 기존 템플릿에서 스택을 배포하기 위한 지침을 따릅니다.
스택이 배포된 후 CloudFormation 콘솔의 출력 탭에서 스택에 대한 세부 정보를 볼 수 있습니다. 템플릿은 서비스 관리 사용자를 사용하는 새 AWS Transfer Family SFTP 서버와 새 워크플로를 생성하고 워크플로를 새 서버와 연결합니다.