创建工作流 - Amazon Transfer Family
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建工作流

您可以使用创建托管工作流程 Amazon Web Services Management Console,如本主题所述。为了使工作流程创建过程尽可能简单,控制台中的大多数部分都提供了上下文帮助面板。

工作流程有两种步骤:

  • 标称步骤 — 标称步骤是要应用于传入文件的文件处理步骤。如果您选择多个标称步骤,每个步骤将按线性序列处理。

  • 异常处理步骤 — 异常处理程序是文件处理步骤,可在任何标称步骤失败或导致验证错误时 Amazon Transfer Family 执行。

创建工作流
  1. 打开 Amazon Transfer Family 控制台,网址为 https://console.aws.amazon.com/transfer/

  2. 在左侧导航窗格中,选择 工作流

  3. 工作流页面,选择 创建工作流

  4. 创建工作流页面,输入描述。此描述显示在“工作流程”页面上。

  5. 标称步骤部分中,选择添加步骤。添加一个或多个步骤。

    1. 从可用选项中选择步骤类型。有关各种作业状态的更多信息,请参阅 使用预定义的步骤

    2. 选择“下一步”,然后为该步骤配置参数。

    3. 选择“下一步”,然后查看该步骤的详细信息。

    4. 选择“创建步骤”以添加该步骤并继续。

    5. 根据需要继续添加步骤。工作流中的最大步骤数为 8。

    6. 添加完所有必需的标称步骤后,向下滚动到“异常处理程序 - 可选”部分,然后选择“添加步骤”。

      注意

      为便于您实时了解故障,我们建议您设置异常处理程序和步骤,以便在工作流程失败时执行。

  6. 要配置异常处理程序,请按照与前面所述相同的方式添加步骤。如果某个文件导致任何步骤引发异常,则会逐一调用您的异常处理程序。

  7. (可选)向下滚动到“标签”部分,然后为您的工作流程添加标签。

  8. 检查配置并选择 创建工作流

    重要

    创建工作流程后,您将无法对其进行编辑,因此请务必仔细查看配置。

配置和运行工作流程

在运行工作流程之前,您需要将其与 Transfer Family 服务器相关联。

将 Transfer Family 配置为对上传的文件运行工作流程
  1. 打开 Amazon Transfer Family 控制台,网址为 https://console.aws.amazon.com/transfer/

  2. 在左侧导航窗格中,选择服务器

    • 要将工作流程添加到现有服务器,请选择要用于工作流程的服务器。

    • 或者,创建一个新服务器并向其添加工作流程。有关更多信息,请参阅 配置 SFTP、FTPS 或 FTP 服务器端点

  3. 在服务器的详细信息页面上,向下滚动到其他详细信息部分,然后选择编辑

    注意

    默认情况下,服务器没有任何关联的工作流程。您可以使用“其他详细信息”部分将工作流与所选服务器相关联。

  4. 编辑其他详细信息页面的托管工作流程部分,选择要在所有上传中运行的工作流程。

    注意

    如果您还没有工作流,请选择“创建新的工作流程”来创建工作流程。

    1. 选择要使用的工作流程 ID。

    2. 选择执行角色。这是 Transfer Family 在执行工作流程步骤时所扮演的角色。有关更多信息,请参阅 适用于工作流程的 IAM 策略。选择 Save(保存)。

    
                            托管工作流程屏幕,显示工作流程和执行角色的值。
注意

如果您不想再将工作流程与服务器关联,则可以移除关联。有关更多信息,请参阅 从 Transfer Family 服务器中移除工作流

要执行工作流程

要执行工作流程,您需要将文件上传到您配置了关联工作流程的 Transfer Family 服务器。

注意

无论何时从服务器上移除工作流程并用新的工作流程替换它,或者更新服务器配置(这会影响工作流程的执行角色),都必须等待大约 10 分钟才能执行新的工作流程。Transfer Family 服务器会缓存工作流程细节,服务器需要 10 分钟才能刷新其缓存。

此外,您必须注销所有活动的 SFTP 会话,然后等待 10 分钟重新登录才能看到更改。

# Execute a workflow > sftp bob@s-1234567890abcdef0.server.transfer.us-east-1.amazonaws.com Connected to s-1234567890abcdef0.server.transfer.us-east-1.amazonaws.com. sftp> put doc1.pdf Uploading doc1.pdf to /DOC-EXAMPLE-BUCKET/home/users/bob/doc1.pdf doc1.pdf 100% 5013KB 601.0KB/s 00:08 sftp> exit >

文件上传后,会对您的文件执行定义的操作。例如,如果您的工作流程包含复制步骤,则该文件将会被复制到您在该步骤中定义的位置。您可以使用 Amaz CloudWatch on Logs 来跟踪已执行的步骤及其执行状态。

查看工作流详细信息

您可以查看有关先前创建的工作流程或工作流程执行的详细信息。要查看这些详细信息,您可以使用控制台或 Amazon Command Line Interface (Amazon CLI)。

Console
查看工作流详细信息
  1. 打开 Amazon Transfer Family 控制台,网址为 https://console.aws.amazon.com/transfer/

  2. 在左侧导航窗格中,选择 工作流

  3. 在“工作流程”页面上,选择一个工作流程。

    工作流程详细信息页面随即打开。

    
                                        Transfer Family 工作流程的工作流程详细信息屏幕,显示描述、步骤、异常处理程序和动态执行情况。
CLI

要查看工作流详细信息,请使用 describe-workflow CLI 命令,如以下示例所示。将工作流程 ID w-1234567890abcdef0 替换为您自己的值。有关更多信息,请参阅 Amazon CLI 命令引用中的 describe-workflow

# View Workflow details > aws transfer describe-workflow --workflow-id w-1234567890abcdef0 { "Workflow": { "Arn": "arn:aws:transfer:us-east-1:111122223333:workflow/w-1234567890abcdef0", "WorkflowId": "w-1234567890abcdef0", "Name": "Copy file to shared_files", "Steps": [ { "Type": "COPY", "CopyStepDetails": { "Name": "Copy to shared", "FileLocation": { "S3FileLocation": { "Bucket": "DOC-EXAMPLE-BUCKET", "Key": "home/shared_files/" } } } } ], "OnException": {} } }

如果您的工作流程是作为 Amazon CloudFormation 堆栈的一部分创建的,则可以使用 Amazon CloudFormation 控制台 (https://console.aws.amazon.com/cloudformation) 管理工作流程。


                    作为 Amazon CloudFormation
堆栈一部分的工作流程的 “工作流程详细信息” 屏幕,显示您管理此工作流程的消息 CloudFormation。