使用异步作业 (API) 编辑 PII 实体 - Amazon Comprehend

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

使用异步作业 (API) 编辑 PII 实体

要编辑文本中的 PII 实体,您可以启动异步批处理作业。要运行作业,请将文档上传到 Amazon S3,然后提交StartPiiEntitiesDetectionJob请求.

开始之前

开始之前,请确保您具有:

  • 输入和输出存储桶— 确定要用于输入文件和输出文件的 Amazon S3 存储桶。存储桶必须与您要调用的 API 位于同一区域。

  • IAM 服务角色—您必须拥有有权访问您的输入和输出存储桶的 IAM 服务角色。有关更多信息,请参阅 异步操作所需的基于角色的权限

输入参数

在您的请求中,包括以下必需参数:

  • InputDataConfig— 提供InputDataConfig请求的定义,其中包括作业的输入属性。对于S3Uri参数中,指定输入文档的 Amazon S3 位置。

  • OutputDataConfig— 提供OutputDataConfig您的请求的定义,其中包括作业的输出属性。对于S3Uri参数中,指定 Amazon Comprehend 在其中写入其分析结果的 Amazon S3 位置。

  • DataAccessRoleArn— 提供的 Amazon 资源名称 (ARN)AWS Identity and Access Management角色。此角色必须授予 Amazon Comprehend 对您的输入数据的读取权限以及对 Amazon S3 中输出位置的写入权限。有关更多信息,请参阅 异步操作所需的基于角色的权限

  • Mode— 将该参数设置为ONLY_REDACTION. 通过此设置,Amazon Comprehend 会将您的输入文档的副本写入 Amazon S3 中的输出位置。在此副本中,每个 PII 实体都会被编辑。

  • RedactionConfig— 提供RedactionConfig您的请求的定义,其中包括密文的配置参数。指定要编辑的 PII 类型,并指定是将每个 PII 实体替换为其类型的名称还是您选择的字符:

    • 在中指定要编辑的 PII 实体类型PiiEntityTypes数组。要编辑所有实体类型,请将数组值设置为["ALL"].

    • 要将每个 PII 实体替换为其类型,请将MaskModeParameterREPLACE_WITH_PII_ENTITY_TYPE. 例如,使用此设置,PII 实体 “Jane Doe” 将替换为 “[姓名]”。

    • 要将每个 PII 实体中的字符替换为您选择的字符,请将MaskModeParameterMASK,然后设置MaskCharacter参数设置为替换字符。仅提供单个字符。有效字符为! 、#、$、%、&、* 和 @。例如,使用此设置,可以将 PII 实体 “Jane Doe” 替换为 “**** ***”

  • LanguageCode— 将该参数设置为en. 亚马逊 Comprehend 仅支持英文文本的 PII 检测。

输出文件格式

以下示例显示了编辑 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 *************************************** }

使用AWS Command Line Interface

以下示例使用StartPiiEntitiesDetectionJob使用AWS CLI.

此示例的格式适用于 Unix、Linux 和 macOS。对于 Windows,请将每行末尾的反斜杠 (\) 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操作获取现有作业的状态。

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) } }