创建工作流程版本 - AWS HealthOmics

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

创建工作流程版本

创建工作流程的新版本时,需要为新版本指定配置值。它不会从工作流程继承任何配置值。

创建版本时,请提供此工作流程中唯一的版本名称。 HealthOmics 创建版本后,您无法更改名称。

版本名称必须以字母或数字开头,可以包括大写和小写字母、数字、连字符、句点和下划线。最大长度为 64 个字符。例如,您可以使用简单的命名方案,例如版本 1、版本 2、版本 3。您还可以将工作流程版本与自己的内部版本控制约定(例如 2.7.0、2.7.1、2.7.2)进行匹配。

或者,使用版本描述字段添加有关此版本的注释。例如:Fix for syntax error in workflow definition

注意

不要在版本名称中包含任何个人身份信息 (PII)。版本名称显示在工作流程版本 ARN 中。

HealthOmics 为工作流程版本分配唯一的 ARN。根据工作流程 ID 和版本名称的组合,ARN 是唯一的。

警告

删除工作流程版本后, HealthOmics 允许您为其他工作流程版本重复使用该版本的版本名称。最佳做法是不要重复使用版本名称。如果您确实重复使用了名称,则工作流程和每个版本都有一个唯一的 UUID,您可以将其用作来源。

使用控制台创建工作流程版本

创建工作流程的步骤
  1. 打开 HealthOmics 管理控制台

  2. 选择左上角的导航窗格 (),然后选择私有工作流程

  3. 私有工作流程页面上,选择新版本的工作流程。

  4. 工作流程详细信息页面上,选择创建新版本

  5. 创建版本页面上,提供以下信息:

    1. 版本名称:输入工作流程版本的名称,该名称在整个工作流程中是唯一的。

    2. 版本描述(可选):您可以使用描述字段添加有关此版本的注释。

  6. 在 “工作流定义” 面板中,提供以下信息:

    1. 工作流语言(可选):选择工作流程版本的规范语言。否则, HealthOmics 根据工作流程定义确定语言。

    2. 对于工作流程定义源,请选择从基于 Git 的存储库、Amazon S3 位置或本地驱动器导入定义文件夹。

      1. 对于从存储库服务导入

        注意

        HealthOmics 支持、、GitHub、GitLabBitbucket、GitHub self-managed的公有和私有存储库GitLab self-managed。

        1. 选择一个连接,将您的 AWS 资源连接到外部存储库。要创建连接,请参阅Connect 连接外部代码存储库

          注意

          该TLV地区的客户需要在 IAD (us-east-1) 区域创建连接才能创建工作流程。

        2. 完整存储库 ID 中,输入您的存储库 ID 作为用户名/存储库名称。确认您有权访问此存储库中的文件。

        3. 源引用(可选)中,输入存储库源引用(分支、标签或提交 ID)。 HealthOmics 如果未指定源引用,则使用默认分支。

        4. 排除文件模式中,输入文件模式以排除特定的文件夹、文件或扩展名。这有助于在导入存储库文件时管理数据大小。最多有 50 个模式,并且模式必须遵循全局模式语法。例如:

          1. tests/

          2. *.jpeg

          3. large_data.zip

      2. 对于从 S3 中选择定义文件夹

        1. 输入包含压缩工作流程定义文件夹的 Amazon S3 位置。Amazon S3 存储桶必须与工作流程位于同一区域。

        2. 如果您的账户不拥有 Amazon S3 存储桶,请在 S3 存储桶拥有者的 AWS 账户 ID 中输入存储桶拥有者的账户 ID。为了验证存储桶所有权 HealthOmics ,必须提供此信息。

      3. 对于从本地来源选择定义文件夹

        1. 输入压缩的工作流程定义文件夹的本地驱动器位置。

    3. 工作流定义文件主路径(可选):输入从压缩的工作流定义文件夹或存储库到该main文件的文件路径。如果工作流定义文件夹中只有一个文件,或者主文件名为 “main”,则不需要此参数。

  7. 默认运行存储配置面板中,为使用此工作流程的运行提供默认的运行存储类型和容量:

    1. 运行存储类型:选择使用静态存储还是动态存储作为临时运行存储的默认存储空间。默认为静态存储。

    2. 运行存储容量(可选):对于静态运行存储类型,您可以输入此工作流程所需的默认运行存储量。此参数的默认值为 1200 GiB。开始运行时,您可以覆盖这些默认值。

  8. 标签(可选):您最多可以将 50 个标签与该工作流程版本相关联。

  9. 选择下一步

  10. 添加工作流程参数(可选)页面上,选择参数来源

    1. 对于从工作流定义文件解析, HealthOmics 将自动解析工作流定义文件中的工作流参数。

    2. 对于从 Git 存储库提供参数模板,请使用仓库中参数模板文件的路径。

    3. 对于从本地源选择 JSON JSON 文件,请从本地源上传指定参数的文件。

    4. 对于手动输入工作流参数,请手动输入参数名称和描述。

  11. 参数预览面板中,您可以查看或更改此工作流程版本的参数。如果恢复该JSON文件,则您所做的任何本地更改都将丢失。

  12. 选择下一步

  13. 查看版本配置,然后选择创建版本

创建版本后,控制台会返回到工作流程详细信息页面,并在工作流程和版本表中显示新版本

使用 CLI 创建工作流程版本

您可以使用 CreateWorkflowVersion API 操作创建工作流程版本。对于可选参数, HealthOmics 使用以下默认值:

参数 默认值
Engine 根据工作流程定义确定
存储类型 STATIC
存储容量(用于静态存储) 1200 GiB
Main 根据工作流定义文件夹的内容确定。有关更多信息,请参阅 HealthOmics 工作流程定义要求
加速器 none
标签 none

以下 CLI 示例创建了使用静态存储作为默认运行存储的工作流程版本:

aws omics create-workflow-version \ --workflow-id 1234567 \ --version-name "my_version" \ --engine WDL \ --definition-zip fileb://workflow-crambam.zip \ --description "my version description" \ --main file://workflow-params.json \ --parameter-template file://workflow-params.json \ --storage-type='STATIC' \ --storage-capacity 1200 \ --tags example123=string \ --accelerators GPU

如果您的工作流程定义文件位于 Amazon S3 文件夹中,请改用definition-uri参数输入该位置definition-zip。有关更多信息,请参阅 AWS HealthOmics API 参考CreateWorkflowVersion中的。

您会收到以下对create-workflow-version请求的回复。

{ "workflowId": "1234567", "versionName": "my_version", "arn": "arn:aws:omics:us-west-2:123456789012:workflow/1234567/version/3", "status": "ACTIVE", "tags": { "environment": "production", "owner": "team-alpha" }, "uuid": "0ac9a563-355c-fc7a-1b47-a115167af8a2" }

使用 SDK 创建工作流程版本

您可以使用其中一个来创建工作流程 SDKs。

以下示例说明如何使用 Python SDK 创建工作流程版本

import boto3 omics = boto3.client('omics') with open('definition.zip', 'rb') as f: definition = f.read() response = omics.create_workflow_version( workflowId='1234567', versionName='my_version', requestId='my_request_1' definitionZip=definition, parameterTemplate={ ... } )

验证工作流程版本的状态

创建工作流程版本后,您可以使用验证状态并查看工作流程的其他详细信息 get-workflow-version,如图所示。

aws omics get-workflow-version --workflow-id 9876543 --version-name "my_version"

如图所示,响应会为您提供工作流程的详细信息,包括状态。

{ "workflowId": "1234567", "versionName": "3.0.0", "arn": "arn:aws:omics:us-west-2:123456789012:workflow/1234567/version/3.0.0", "status": "ACTIVE", "description": ... "uuid": "0ac9a563-355c-fc7a-1b47-a115167af8a2" }

必须先将状态转换为,然后才能使用此工作流程版本开始运行ACTIVE