本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
執行非同步批次任務,在文件集合中尋找 PII。若要執行任務,請將您的文件上傳至 Amazon S3,然後提交 StartPiiEntitiesDetectionJob 請求。
開始之前
開始之前,請確定您已:
-
輸入和輸出儲存貯體 - 識別您要用於輸入檔案和輸出檔案的 Amazon S3 儲存貯體。儲存貯體必須與您呼叫的 API 位於相同的區域。
-
IAM 服務角色 - 您必須具有 IAM 服務角色,具有存取輸入和輸出儲存貯體的許可。如需詳細資訊,請參閱非同步操作所需的角色型許可。
輸入參數
在您的請求中,包含下列必要參數:
-
InputDataConfig
– 為您的請求提供 InputDataConfig 定義,其中包含任務的輸入屬性。針對S3Uri
參數,指定輸入文件的 Amazon S3 位置。 -
OutputDataConfig
– 為您的請求提供 OutputDataConfig 定義,其中包含任務的輸出屬性。針對S3Uri
參數,指定 Amazon Comprehend 寫入其分析結果的 Amazon S3 位置。 Amazon Comprehend -
DataAccessRoleArn
– 提供 AWS Identity and Access Management 角色的 Amazon Resource Name (ARN)。此角色必須授予 Amazon Comprehend 對輸入資料的讀取存取權,以及對 Amazon S3 中輸出位置的寫入存取權。如需詳細資訊,請參閱非同步操作所需的角色型許可。 -
Mode
– 將此參數設定為ONLY_OFFSETS
。使用此設定,輸出會提供字元位移,以找出輸入文字中的每個 PII 實體。輸出也包含可信度分數和 PII 實體類型。 -
LanguageCode
– 將此參數設定為en
或es
。Amazon Comprehend 支援英文或西班牙文文字的 PII 偵測。
非同步任務方法
StartPiiEntitiesDetectionJob
會傳回任務 ID,以便您可以監控任務的進度,並在任務完成時擷取任務狀態。
若要監控分析任務的進度,請將任務 ID 提供給 DescribePiiEntitiesDetectionJob 操作。的回應DescribePiiEntitiesDetectionJob
包含具有任務目前狀態JobStatus
的欄位。成功的任務會轉換到下列狀態:
已提交 -> IN_PROGRESS -> 已完成。
分析任務完成後 (JobStatus
為 COMPLETED、FAILED 或 STOPPED),請使用 DescribePiiEntitiesDetectionJob
取得結果的位置。如果任務狀態為 COMPLETED
,回應會包含OutputDataConfig
欄位,其中包含具有輸出檔案 Amazon S3 位置的欄位。
如需 Amazon Comprehend 非同步分析所遵循步驟的其他詳細資訊,請參閱 非同步批次處理。
輸出檔案格式
輸出檔案使用輸入檔案的名稱,並在結尾附加 .out。它包含分析的結果。
以下是分析任務的輸出檔案範例,可偵測文件中的 PII 實體。輸入的格式是每行一個文件。
{
"Entities": [
{
"Type": "NAME",
"BeginOffset": 40,
"EndOffset": 69,
"Score": 0.999995
},
{
"Type": "ADDRESS",
"BeginOffset": 247,
"EndOffset": 253,
"Score": 0.998828
},
{
"Type": "BANK_ACCOUNT_NUMBER",
"BeginOffset": 406,
"EndOffset": 411,
"Score": 0.693283
}
],
"File": "doc.txt",
"Line": 0
},
{
"Entities": [
{
"Type": "SSN",
"BeginOffset": 1114,
"EndOffset": 1124,
"Score": 0.999999
},
{
"Type": "EMAIL",
"BeginOffset": 3742,
"EndOffset": 3775,
"Score": 0.999993
},
{
"Type": "PIN",
"BeginOffset": 4098,
"EndOffset": 4102,
"Score": 0.999995
}
],
"File": "doc.txt",
"Line": 1
}
以下是來自 分析的輸出範例,其中輸入的格式是每個檔案一個文件。
{
"Entities": [
{
"Type": "NAME",
"BeginOffset": 40,
"EndOffset": 69,
"Score": 0.999995
},
{
"Type": "ADDRESS",
"BeginOffset": 247,
"EndOffset": 253,
"Score": 0.998828
},
{
"Type": "BANK_ROUTING",
"BeginOffset": 279,
"EndOffset": 289,
"Score": 0.999999
}
],
"File": "doc.txt"
}
使用 進行非同步分析 AWS Command Line Interface
下列範例使用 StartPiiEntitiesDetectionJob
操作搭配 AWS CLI。
此範例格式適用於 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_OFFSETS" }
如果啟動事件偵測任務的請求成功,您將收到類似以下的回應:
{
"JobId": "5d2fbe6e...e2c"
"JobArn": "arn:aws:comprehend:us-west-2:123456789012:pii-entities-detection-job/5d2fbe6e...e2c"
"JobStatus": "SUBMITTED",
}
您可以使用 DescribeEventsDetectionJob 操作來取得現有任務的狀態。如果啟動事件偵測任務的請求成功,您將收到類似以下的回應:
aws comprehend describe-pii-entities-detection-job \ --region
region
\ --job-idjob ID
當任務成功完成時,您會收到類似以下的回應:
{
"PiiEntitiesDetectionJobProperties": {
"JobId": "5d2fbe6e...e2c"
"JobArn": "arn:aws:comprehend:us-west-2:123456789012:pii-entities-detection-job/5d2fbe6e...e2c"
"JobName": "piiCLItest3",
"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)
}
}