

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

# 本体关联批量分析
<a name="ontologies-batchapi"></a>

使用 Amazon Comprehend Medical 检测存储在 Amazon Simple Storage Service (Amazon S3) 桶中的临床文本实体，并将这些实体关联到标准化本体。您可以使用本体关联批量分析来分析一组文档或最多包含 20000 个字符的单个文档。通过使用控制台或本体关联批处理 API，您可以执行操作，以启动、停止、列出和描述正在进行的批量分析作业。

 有关批量分析和其他 Amazon Comprehend Medical 操作的定价信息，请参阅 [Amazon Comprehend Medical Pricing](https://aws.amazon.com/comprehend/medical/pricing/)。

## 执行批量分析
<a name="performing-batch-analysis-ontology-linking"></a>

您可以使用 Amazon Comprehend Medical 控制台或 Amazon Comprehend Medical 批处理 API 操作来运行批量分析作业。

### 使用 API 操作执行批量分析
<a name="batch-api-ontology-linking"></a>

**先决条件**

 在使用 Amazon Comprehend Medical API 时，请创建 AWS Identity Access and Management (IAM) 策略并将其附加到 IAM 角色。要了解有关 IAM 角色和信任策略的更多信息，请参阅 [IAM 策略和权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)。

1. 将数据上传到 S3 桶。

1. 要启动新的分析作业，请使用 “**启动ICD10CMInference作业**”、“**启动SNOMEDCTInference作业**” 或 “**StartRxNormInferenceJob**操作”。提供包含输入文件的 Amazon S3 桶的名称以及您将要向其发送输出文件的 Amazon S3 桶的名称。

1. 使用 Describe Job、Desc **ribe ICD10 CMInference Jo** b 或**DescribeRxNormInferenceJob**操作**来监控SNOMEDCTInference任务**的进度。此外，您可以使用 “**列出ICD10CMInference作业”**、“**列出SNOMEDCTInference作业**” 和 **ListRxNormInferenceJobs**“查看所有本体链接批量分析作业的状态”。

1. 如果您需要停止正在进行的作业，请使用 **Stop ICD10 CMInference Job**、**Stop SNOMEDCTInference J** ob 或**StopRxNormInferenceJob**停止分析。

1. 要查看分析作业的结果，请参阅您在启动作业时配置的输出 S3 桶。

### 使用控制台执行批量分析
<a name="batch-api-ontology-linking-console"></a>

****

1. 将数据上传到 S3 桶。

1. 要开始新的分析作业，请选择要执行的分析类型。然后，提供包含输入文件的 S3 桶的名称以及您将要向其发送输出文件的 S3 桶的名称。

1. 在作业运行期间监控其状态。在控制台中，您可以查看所有批量分析操作及其状态，包括分析的开始和结束时间。

1. 要查看分析作业的结果，请查看您在启动作业时配置的输出 S3 桶。

## 适用于批量操作的 IAM 策略
<a name="batch-iam-ontology-linking"></a>

调用 Amazon Comprehend Medical 批处理 API 操作的 IAM 角色必须有一个策略，允许访问包含输入和输出文件的 S3 桶。此外，还必须为 IAM 角色分配信任关系，这样 Amazon Comprehend Medical 服务才能担任该角色。要了解有关 IAM 角色和信任策略的更多信息，请参阅 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)。

该角色必须具有以下策略：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::input-bucket/*"
            ],
            "Effect": "Allow"
        },
        {
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::input-bucket",
                "arn:aws:s3:::output-bucket"
            ],
            "Effect": "Allow"
        },
        {
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::output-bucket/*"
            ],
            "Effect": "Allow"
        }
    ]
}
```

------

该角色必须拥有以下信任关系。建议您使用 `aws:SourceAccount ` 和 `aws:SourceArn` 条件键来防止混淆代理安全问题。要详细了解混淆的代理问题以及如何保护您的 AWS 账户，请参阅 IAM 文档中的[混淆代理问题](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)。

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Principal":{
            "Service":[
               "comprehendmedical.amazonaws.com"
            ]
         },
         "Action":"sts:AssumeRole",
         "Condition": {
            "StringEquals": {
               "aws:SourceAccount": "account_id"
            },
            "ArnLike": {
               "aws:SourceArn": "arn:aws:comprehendmedical:us-east-1:account_id:*"
            }
         }
      }
   ]
}
```

------

## 批量分析输出文件
<a name="batch-ouput-ontology-linking"></a>

Amazon Comprehend Medical 为批次中的每个输入文件创建一个输出文件。文件的扩展名为 `.out`。Amazon Comprehend Medical 首先使用 *AwsAccountId* *JobType* *JobId*-作为名称在输出 S3 存储桶中创建一个目录，然后将该批次的所有输出文件写入该目录。Amazon Comprehend Medical 创建此新目录，这样一个作业的输出就不会覆盖另一个作业的输出。

批处理操作产生的输出与同步操作相同。

每个批处理操作都会生成以下三个清单文件，其中包含有关作业的信息：
+ `Manifest`‬ – 总结作业。提供有关作业所用参数、作业的总大小以及已处理的文件数量的信息。
+ `Success` – 提供有关已成功处理的文件的信息。包括输入和输出文件名以及输入文件的大小。
+ `Unprocessed` – 列出批处理作业未处理的文件，每个文件都有错误代码和错误消息。

Amazon Comprehend Medical 会将文件写入您为批处理作业指定的输出目录。摘要清单文件将与标题为 `Manifest_AccountId-Operation-JobId` 的文件夹一起写入输出文件夹。清单文件夹中有 `success` 文件夹和 `failed` 文件夹，前者包含成功清单，后者包含未处理的文件清单。以下部分显示了清单文件的结构。

### 批处理清单文件
<a name="batch-manifest-ontology-linking"></a>

以下是批处理清单文件的 JSON 结构。

```
{"Summary" : 
    {"Status" : "COMPLETED | FAILED | PARTIAL_SUCCESS | STOPPED", 
    "JobType" : "ICD10CMInference | RxNormInference | SNOMEDCTInference", 
    "InputDataConfiguration" : {
        "Bucket" : "input bucket", 
        "Path" : "path to files/account ID-job type-job ID" 
    }, "OutputDataConfiguration" : {
        "Bucket" : "output bucket", 
        "Path" : "path to files" 
    }, 
    "InputFileCount" : number of files in input bucket, 
    "TotalMeteredCharacters" : total characters processed from all files, 
    "UnprocessedFilesCount" : number of files not processed, 
    "SuccessFilesCount" : total number of files processed, 
    "TotalDurationSeconds" : time required for processing, 
    "SuccessfulFilesListLocation" : "path to file", 
    "UnprocessedFilesListLocation" : "path to file",
    "FailedJobErrorMessage": "error message or if not applicable,
              The status of the job is completed"
    } 
}
```

### 成功清单文件
<a name="batch-success-ontology-linking"></a>

以下是文件的 JSON 结构，其中包含有关已成功处理的文件的信息。

```
{
    "Files": [{
            "Input": "input path/input file name",
            "Output": "output path/output file name",
            "InputSize": size in bytes of input file
        },
        {
            "Input": "input path/input file name",
            "Output": "output path/output file name",
            "InputSize": size in bytes of input file
     }]
}
```

### 未处理清单文件
<a name="batch-unprocessed-ontology-linking"></a>

以下是清单文件的 JSON 结构，其中包含有关未处理文件的信息。

```
{
  "Files" : [ {
      "Input": "file_name_that_failed",
      "ErrorCode": "error code for exception",
      "ErrorMessage": "explanation of the error code and suggestions"
  }, 
  { ...}
  ]
}
```