本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用异步作业编辑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
— 将此参数设置为en
或es
。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-namejob 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-idjob 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) } }