创建工作流 - AWS Transfer Family

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

创建工作流

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

工作流程有两种步骤:

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

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

创建工作流
  1. 打开 AWS 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. 打开 AWS Transfer Family 控制台,网址为https://console.aws.amazon.com/transfer/

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

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

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

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

    注意

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

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

    注意

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

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

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

注意

如果您不想再将工作流程与服务器关联,则可以移除关联。有关详细信息,请参阅从 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 来跟踪已执行的步骤及其执行状态。

查看工作流详细信息

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

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

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

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

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

CLI

要查看工作流程的详细信息,请使用describe-workflowCLI命令,如以下示例所示。将工作流程 ID w-1234567890abcdef0 替换为您自己的值。有关更多信息,请参阅 AWS 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": {} } }

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