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

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

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

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

开始之前

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

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

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

输入参数

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

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

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

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

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

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

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

    • 要将每个PII实体替换为其类型,请将MaskMode参数设置为REPLACE_WITH_PII_ENTITY_TYPE。例如,使用此设置,PII实体 “Jane Doe” 将替换为 “[NAME]”。

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

  • LanguageCode— 将此参数设置为enes。Amazon Comp PII rehend 支持英语或西班牙语文本的检测。

输出文件格式

以下示例显示了密文分析作业的输入和输出文件。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

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

此示例的格式适用于 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) } }