

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

# 开始跑步 HealthOmics
<a name="starting-a-run"></a>

当你开始运行时，你需要指定在运行期间 HealthOmics 分配的资源。

指定运行存储类型和存储量（对于静态存储）。为确保数据隔离和安全 HealthOmics ，请在每次运行开始时配置存储，并在运行结束时取消配置。有关更多信息，请参阅 [在 HealthOmics 工作流程中运行存储类型](workflows-run-types.md)。

为输出文件指定 Amazon S3 的位置。如果您同时运行大量工作流程，请 URIs 为每个工作流程使用单独的 Amazon S3 输出以避免存储桶限制。有关更多信息，请参阅 *Amazon S3 用户指南中的[使用前缀组织对象](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html)和优化 Amazon S* *3 性能*白皮书中的[水平扩展存储连接](https://docs.aws.amazon.com/whitepapers/latest/s3-optimizing-performance-best-practices/scale-storage-connections-horizontally.html)。

您也可以指定运行优先级。优先级对运行的影响取决于运行是否与运行组关联。有关更多信息，请参阅 [运行优先级](creating-run-groups.md#run-priority)。

如果工作流程有一个或多个版本，则可以在开始运行时指定一个版本。如果您未指定版本，则 HealthOmics 启动[默认工作流程版本](workflows-default-version.md)。

使用 HealthOmics API 时，您可以为每次运行提供唯一的请求 ID。请求 ID 是一个 HealthOmics 用于识别重复请求的等性令牌。并且只开始运行一次。

**注意**  
您可以在开始运行时指定 IAM 服务角色。或者，控制台可以为您创建服务角色。有关更多信息，请参阅 [的服务角色 AWS HealthOmics](permissions-service.md)。

**Topics**
+ [HealthOmics 运行参数](#run-parameters)
+ [使用控制台开始运行](#starting-a-run-console)
+ [使用 API 开始跑步](#starting-a-run-api)
+ [获取有关跑步的信息](#getinfo-about-runs)
+ [VPC 联网](#start-run-vpc-networking)

## HealthOmics 运行参数
<a name="run-parameters"></a>

开始运行时，可以在运行参数 JSON 文件中指定运行输入，也可以内联输入参数值。有关管理运行参数 JSON 文件大小的信息，请参阅[管理运行参数大小](workflows-run-inputs.md#run-input-file-options)。

HealthOmics 支持以下 JSON 类型的参数值。


| JSON 类型 | 键和值示例 | 注意 | 
| --- | --- | --- | 
| 布尔值 | “b”: true | 值不在引号中，且全部为小写。 | 
| 整数 | “i”: 7 | 值不在引号中。 | 
| 数字 | “f”: 42.3 | 值不在引号中。 | 
| 字符串 | “s”: “字符” | 值用引号表示。对文本值使用字符串类型和 URIs。URI 目标必须是预期的输入类型。 | 
| array | “a”: [1,2,3] | 值不在引号中。每个数组成员都必须具有由输入参数定义的类型。 | 
| object | “o”: \$1“左”: “a”，“右”: 1\$1 | 在 WDL 中，对象映射到 WDL 配对、映射或结构 | 

## 使用控制台开始运行
<a name="starting-a-run-console"></a>

**开始跑步**

1. 打开 [HealthOmics 控制台](https://console.aws.amazon.com/omics/)。

1.  如果需要，请打开左侧导航窗格 (►)。选择**运行**。

1. 在 “**运行**” 页面上，选择 “**开始运行**”。

1. 在**运行详细信息**面板中，提供以下信息
   + **工作流来源**-选择 “**自有的工作流程**” 或 “**共享工作流程”**。
   + **工作流程 ID**-与此运行关联的工作流程 ID。
   + **工作流程版本**（可选）-选择用于此次运行的工作流程版本。如果您未选择版本，则运行将使用工作流程的默认版本。
   + **跑步名称**-本次跑步的独特名称。
   + **运行优先级**（可选）-此次运行的优先级。数字越大，优先级越高，优先级最高的任务首先运行。
   + **运行存储类型**-在此处指定存储类型以覆盖为工作流程指定的默认运行存储类型。静态存储为运行分配固定数量的存储空间。动态存储可根据运行中的每项任务的需要向上和向下扩展。
   + **运行存储容量**-对于静态运行存储，请指定运行所需的存储量。此条目将覆盖为工作流程指定的默认运行存储量。
   + **选择 S3 输出目的地**-保存运行输出的 S3 位置。
   + **输出存储桶所有者的账户 ID**（可选）-如果您的账户不拥有输出存储桶，请输入存储桶所有者的 AWS 账户 ID。为了验证存储桶所有权 HealthOmics ，必须提供此信息。
   + **运行元数据保留模式**-选择是保留所有运行的元数据，还是让系统在账户达到最大运行次数时删除最旧的运行元数据。有关更多信息，请参阅 [运行时 HealthOmics 运行保留模式](run-retention.md)。

1. 在**服务角色**下，您可以使用现有的服务角色或创建新的服务角色。

1. （可选）对于**标记**，您最多可以为运行分配 50 个标签。

1. 选择**下一步**。

1. 在**添加参数值**页面上，提供运行参数。您可以上传指定参数的 JSON 文件，也可以手动输入值。

1. 选择**下一步**。

1. 在 “**运行组**” 面板中，您可以选择为此次运行指定运行组。有关更多信息，请参阅 [使用 HealthOmics 跑步组](creating-run-groups.md)。

1. 在 “**运行缓存**” 面板中，您可以选择为此次运行指定运行缓存。有关更多信息，请参阅 [使用控制台配置带有运行缓存的运行](workflow-cache-startrun.md#workflow-cache-startrun-console)。

1. 选择 **Review and start run (检查并启动运行)**。

1. 查看运行配置后，选择**开始运行**。

## 使用 API 开始跑步
<a name="starting-a-run-api"></a>

使用**开始运行** API 操作来创建和开始运行。

以下示例指定了工作流程 ID 和服务角色。此示例将保留模式设置为`REMOVE`。有关保留模式的更多信息，请参阅[运行时 HealthOmics 运行保留模式](run-retention.md)。

```
aws omics start-run 
     --workflow-id workflow id \
     --role-arn arn:aws:iam::1234567892012:role/service-role/OmicsWorkflow-20221004T164236 \
     --name workflow name \
     --retention-mode REMOVE
```

作为响应，你会得到以下输出。`uuid`是运行所独有的，与一起`outputUri`可用于跟踪输出数据的写入位置。

```
{
    "arn": "arn:aws:omics:us-west-2:....:run/1234567", 
    "id": "123456789",
    "uuid":"96c57683-74bf-9d6d-ae7e-f09b097db14a",
    "outputUri":"s3://bucket/folder/8405154/96c57683-74bf-9d6d-ae7e-f09b097db14a"
    "status": "PENDING"
}
```

### 包括参数文件
<a name="start-run-api-parms"></a>

如果工作流程的参数模板声明了任何必需的参数，则可以在启动工作流程运行时提供输入的本地 JSON 文件。JSON 文件包含每个输入参数的确切名称和该参数的值。

 AWS CLI 通过添加到`--parameters file://<input_file.json>`您的`start-run`请求中引用输入 JSON 文件。有关运行参数的更多信息，请参阅[HealthOmics 运行输入](workflows-run-inputs.md)。

### 提供请求编号
<a name="start-run-api-requestID"></a>

你可以为每次跑步提供一个唯一的`requestId`。请求 ID 是一个 HealthOmics 用于捕获重复请求的等性令牌。如果请求 ID 与上一次运行重复，则它不会开始运行。

如果您使用基础架构（例如 Lambda 函数或步骤函数）来协调运行启动，则最佳做法是为每个请求提供唯一的请求 ID。 StartRun 这样可以确保，如果您的基础架构无意中启动了已经启动的运行，则 HealthOmics 不会启动重复运行。例如，如果基础架构正在尝试从上游错误中恢复，它可能会重新运行一个脚本，尝试启动重复请求的运行。

### 选择工作流程版本
<a name="start-run-api-version"></a>

您可以为运行指定工作流程版本。如果您未指定版本，则使用默认工作流程版本 HealthOmics 开始运行。

```
aws omics start-run 
     --workflow-id workflow id \
      ...
     --workflow-version-name '1.2.1'
```

### 覆盖运行存储类型
<a name="start-run-api-storage-type"></a>

您可以覆盖工作流程中设置的默认运行存储类型。

```
aws omics start-run 
       --workflow-id workflow id \
        ...
       --storage-type STATIC
       --storage-capacity 2400
```

### 运行 GPU 工作流程
<a name="start-run-api-gpu"></a>

您还可以指定 GPU 工作流程 ID，如以下示例所示：

```
aws omics start-run 
       --workflow-id workflow id \
       --role-arn arn:aws:iam::1234567892012:role/service-role/OmicsWorkflow-20221004T164236 \
       --name GPUTestRunModel \
       --output-uri s3://amzn-s3-demo-bucket1
```

## 获取有关跑步的信息
<a name="getinfo-about-runs"></a>

您可以将响应中的 ID 与 **get-run** API 配合使用来检查运行状态，如图所示。

```
aws omics get-run --id run id
```

来自此 API 操作的响应会告诉您工作流程的运行状态。可能的状态是`PENDING`、`STARTING``RUNNING`、和。`COMPLETED`运行时`COMPLETED`，您可以在输出 Amazon S3 存储桶`outfile.txt`中找到一个名为的输出文件，该文件位于以运行 ID 命名的文件夹中。

**get-run** API 操作还会返回其他详细信息，例如工作流程是否为`PRIVATE`、工作流引擎和加速器详细信息。`Ready2Run`以下示例显示了私有工作流程**运行时对 get-run** 的响应，该工作流程在 WDL 中进行了描述，该工作流程具有 GPU 加速器且未为运行分配任何标签。

```
{
    "arn": "arn:aws:omics:us-west-2:123456789012:run/7830534",
    "id": "7830534",
    "uuid":"96c57683-74bf-9d6d-ae7e-f09b097db14a",
    "outputUri":"s3://bucket/folder/8405154/96c57683-74bf-9d6d-ae7e-f09b097db14a" 
    "status": "COMPLETED",
    "workflowId": "4074992",
    "workflowType": "PRIVATE",
    "workflowVersionName": "3.0.0",
    "roleArn": "arn:aws:iam::123456789012:role/service-role/OmicsWorkflow-20221004T164236",
    "name": "RunGroupMaxGpuTest",
    "runGroupId": "9938959",
    "digest": "sha256:a23a6fc54040d36784206234c02147302ab8658bed89860a86976048f6cad5ac",
    "accelerators": "GPU",
    "outputUri": "s3://amzn-s3-demo-bucket1",
    "startedBy": "arn:aws:sts::123456789012:assumed-role/Admin/<role_name>",
    "creationTime": "2023-04-07T16:44:22.262471+00:00",
    "startTime": "2023-04-07T16:56:12.504000+00:00",
    "stopTime": "2023-04-07T17:22:29.908813+00:00",
    "tags": {}
}
```

如图所示，您可以使用**列表运行 API 操作查看所有运行**的状态。

```
 aws omics list-runs
```

要查看特定运行的所有已完成任务，请使用 **list-run-tasks**API。

```
 aws omics list-run-tasks --id task ID
```

要获取任何特定任务的详细信息，请使用 get-run-task API。

```
 aws omics get-run-task --id <run_id> --task-id task ID
```

运行完成后，元数据将发送到流 CloudWatch 下方`manifest/run/<run ID>/<run UUID>`。

以下是清单的示例。

```
{
    "arn": "arn:aws:omics:us-east-1:123456789012:run/1695324",
    "creationTime": "2022-08-24T19:53:55.284Z",
    "resourceDigests": {
      "s3://omics-data/broad-references/hg38/v0/Homo_sapiens_assembly38.dict": "etag:3884c62eb0e53fa92459ed9bff133ae6",
      "s3://omics-data/broad-references/hg38/v0/Homo_sapiens_assembly38.fasta": "etag:e307d81c605fb91b7720a08f00276842-388",
      "s3://omics-data/broad-references/hg38/v0/Homo_sapiens_assembly38.fasta.fai": "etag:f76371b113734a56cde236bc0372de0a",
      "s3://omics-data/intervals/hg38-mjs-whole-chr.500M.intervals": "etag:27fdd1341246896721ec49a46a575334",
      "s3://omics-data/workflow-input-lists/dragen-gvcf-list.txt": "etag:e22f5aeed0b350a66696d8ffae453227"
    },
    "digest": "sha256:a5baaff84dd54085eb03f78766b0a367e93439486bc3f67de42bb38b93304964",
    "engine": "WDL",
    "main": "gatk4-basic-joint-genotyping-v2.wdl",
    "name": "1044-gvcfs",
    "outputUri": "s3://omics-data/workflow-output",
    "parameters": {
      "callset_name": "cohort",
      "input_gvcf_uris": "s3://omics-data/workflow-input-lists/dragen-gvcf-list.txt",
      "interval_list": "s3://omics-data/intervals/hg38-mjs-whole-chr.500M.intervals",
      "ref_dict": "s3://omics-data/broad-references/hg38/v0/Homo_sapiens_assembly38.dict",
      "ref_fasta": "s3://omics-data/broad-references/hg38/v0/Homo_sapiens_assembly38.fasta",
      "ref_fasta_index": "s3://omics-data/broad-references/hg38/v0/Homo_sapiens_assembly38.fasta.fai"
    },
    "roleArn": "arn:aws:iam::123456789012:role/OmicsServiceRole",
    "startedBy": "arn:aws:sts::123456789012:assumed-role/admin/ahenroid-Isengard",
    "startTime": "2022-08-24T20:08:22.582Z",
    "status": "COMPLETED",
    "stopTime": "2022-08-24T20:08:22.582Z",
    "storageCapacity": 9600,
    "uuid": "a3b0ca7e-9597-4ecc-94a4-6ed45481aeab",
    "workflow": "arn:aws:omics:us-east-1:123456789012:workflow/1558364",
    "workflowType": "PRIVATE"
  },
  {
    "arn": "arn:aws:omics:us-east-1:123456789012:task/1245938",
    "cpus": 16,
    "creationTime": "2022-08-24T20:06:32.971290",
    "image": "123456789012.dkr.ecr.us-west-2.amazonaws.com/gatk",
    "imageDigest": "sha256:8051adab0ff725e7e9c2af5997680346f3c3799b2df3785dd51d4abdd3da747b",
    "memory": 32,
    "name": "geno-123",
    "run": "arn:aws:omics:us-east-1:123456789012:run/1695324",
    "startTime": "2022-08-24T20:08:22.278Z",
    "status": "SUCCESS",
    "stopTime": "2022-08-24T20:08:22.278Z",
    "uuid": "44c1a30a-4eee-426d-88ea-1af403858f76"
  },
  ...
```

如果 CloudWatch 日志中不存在运行元数据，则不会将其删除。

## VPC 联网
<a name="start-run-vpc-networking"></a>

您可以将运行配置为使用 VPC 网络，这允许运行通过公共 Internet 或私有网络访问资源。开始运行时指定联网模式和配置名称：

```
aws omics start-run \
  --workflow-id workflow-id \
  --role-arn role-arn \
  --output-uri s3://bucket-name/prefix/ \
  --networking-mode VPC \
  --configuration-name configuration-name \
  --region region
```

有关更多信息，请参阅 [将 HealthOmics 工作流程连接到 VPC](workflows-vpc-networking.md)。