

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

# 使用异步任务 (API) 编辑 PII 实体
<a name="redact-api-pii"></a>

要编辑文本中的 PII 实体，您需要启动一个异步批处理任务。要运行任务，请将您的文档上传到 Amazon S3，然后提交[StartPiiEntitiesDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_StartPiiEntitiesDetectionJob.html)请求。

**Topics**
+ [开始之前](#redact-pii-before)
+ [输入参数](#redact-pii-api-inputs)
+ [输出文件格式](#redact-pii-api-outputs)
+ [使用 PII 进行编辑 AWS Command Line Interface](#redact-pii-api-cli)

## 开始之前
<a name="redact-pii-before"></a>

在开始之前，请确保您具有：
+ **输入和输出存储桶**：确定要用于输入文件和输出文件的 Amazon S3 存储桶。存储桶必须与所调用的 API 位于同一区域。
+ **IAM 服务角色**：您必须拥有一个有权访问您的输入和输出存储桶的 IAM 服务角色。有关更多信息，请参阅 [异步操作所需的基于角色的权限](security_iam_id-based-policy-examples.md#auth-role-permissions)。

## 输入参数
<a name="redact-pii-api-inputs"></a>

在您的请求中，请包含以下必需的参数：
+ `InputDataConfig`— 为您的请求提供[InputDataConfig](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_InputDataConfig.html)定义，其中包括任务的输入属性。对于 `S3Uri` 参数，指定输入文档的 Amazon S3 位置。
+ `OutputDataConfig`— 为您的请求提供[OutputDataConfig](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_OutputDataConfig.html)定义，其中包括任务的输出属性。对于 `S3Uri` 参数，指定 Amazon Comprehend 写入其分析结果的 Amazon S3 位置。
+ `DataAccessRoleArn`：提供 AWS Identity and Access Management 角色的 Amazon 资源名称（ARN)。该角色必须授予 Amazon Comprehend 对您的输入数据的读取权限以及对您在 Amazon S3 中的输出位置的写入权限。有关更多信息，请参阅 [异步操作所需的基于角色的权限](security_iam_id-based-policy-examples.md#auth-role-permissions)。
+ `Mode`：将该参数设置为 `ONLY_REDACTION`。使用此设置，Amazon Comprehend 会将您的输入文档的副本写入 Amazon S3 中的输出位置。在此副本中，每个 PII 实体都经过了编辑。
+ `RedactionConfig`— 为您的请求提供[RedactionConfig](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_RedactionConfig.html)定义，其中包括密文的配置参数。指定要编辑的 PII 类型，并指定是用其类型的名称还是您选择的字符替换每个 PII 实体：
  + 在 `PiiEntityTypes` 数组中指定要编辑的 PII 实体类型。要编辑所有实体类型，请将数组值设置为 `["ALL"]`。
  + 要将每个 PII 实体替换为其类型，请将 `MaskMode` 参数设置为 `REPLACE_WITH_PII_ENTITY_TYPE`。例如，使用此设置，PII 实体“Jane Doe”将替换为“[姓名]”。
  + 要用您选择的字符替换每个 PII 实体中的字符，请将 `MaskMode` 参数设置为 `MASK`，然后将 `MaskCharacter` 参数设置为替换字符。仅提供单个字符。有效字符为！、\$1、￥、%、&、\$1和@。例如，使用此设置，PII 实体“Jane Doe”将替换为“\$1\$1\$1\$1 \$1\$1\$1”
+ `LanguageCode`— 将此参数设置为`en`或`es`。Amazon Comprehend 支持英语或西班牙语文本的 PII 检测。

## 输出文件格式
<a name="redact-pii-api-outputs"></a>

以下示例显示了编辑 PII 的分析任务的输入和输出文件。输入格式是每行一个文档。

```
{
Managing Your Accounts Primary Branch Canton John Doe Phone Number 443-573-4800 123 Main StreetBaltimore, MD 21224
Online Banking HowardBank.com  Telephone 1-877-527-2703 Bank 3301 Boston Street, Baltimore, MD 21224
```

编辑该输入文件的分析任务会生成以下输出文件。

```
{
Managing Your Accounts Primary Branch ****** ******** Phone Number ************ **********************************
Online Banking **************  Telephone ************** Bank ***************************************     
 }
```

## 使用 PII 进行编辑 AWS Command Line Interface
<a name="redact-pii-api-cli"></a>

以下示例使用 AWS CLI的 `StartPiiEntitiesDetectionJob` 操作。

此示例的格式适用于 Unix、Linux 和 macOS。对于 Windows，请将每行末尾的反斜杠 (\$1) Unix 行继续符替换为脱字号 (^)。

```
aws comprehend start-pii-entities-detection-job \
    --region region \
    --job-name job name \
    --cli-input-json file://path to JSON input file
```

对于 `cli-input-json` 参数，请提供包含请求数据的 JSON 文件的路径，如以下示例中所示。

```
{
    "InputDataConfig": {
        "S3Uri": "s3://input bucket/input path",
        "InputFormat": "ONE_DOC_PER_LINE"
    },
    "OutputDataConfig": {
        "S3Uri": "s3://output bucket/output path"
    },
    "DataAccessRoleArn": "arn:aws:iam::account ID:role/data access role"
    "LanguageCode": "en",
    "Mode": "ONLY_REDACTION"
    "RedactionConfig": {
        "MaskCharacter": "*",
        "MaskMode": "MASK",
        "PiiEntityTypes": ["ALL"]
    }
}
```

如果启动事件检测任务的请求成功，您将会收到一条与以下类似的响应：

```
{
  "JobId": "7c4fbe6e...e5b"
  "JobArn":  "arn:aws:comprehend:us-west-2:123456789012:pii-entities-detection-job/7c4fbe6e...e5b" 
  "JobStatus": "SUBMITTED",   
}
```

您可以使用该[DescribeEventsDetectionJob](https://docs.aws.amazon.com/comprehend/latest/APIReference/API_DescribeEventsDetectionJob.html)操作来获取现有任务的状态。

```
aws comprehend describe-pii-entities-detection-job \
    --region region \
    --job-id job ID
```

任务成功完成后，您将会收到一条与以下类似的响应：

```
{
  "PiiEntitiesDetectionJobProperties": {
     "JobId": "7c4fbe6e...e5b"
     "JobArn":  "arn:aws:comprehend:us-west-2:123456789012:pii-entities-detection-job/7c4fbe6e...e5b" 
     "JobName": "piiCLIredtest1",
     "JobStatus": "COMPLETED",
     "SubmitTime": "2022-05-05T14:54:06.169000-07:00",
     "EndTime": "2022-05-05T15:00:17.007000-07:00",
     "InputDataConfig": {
        (identical to the input data that you provided with the request)
  }
}
```