

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用資料刪除任務刪除使用者及其資料
<a name="delete-records"></a>

 匯入資料後，您可以從資料集群組刪除使用者及其資料，包括其中繼資料和互動資料。您可以刪除使用者資料作為合規計劃的一部分，或處理使用者刪除請求，或隨著使用者基礎變更保持資料為最新狀態。

 刪除使用者後，Amazon Personalize 不會再訓練其資料，也不會在產生使用者區段時考慮使用者。

 若要刪除 Amazon Personalize 資料集中的使用者參考，以及資料集群組中的模型，請執行下列動作：

1. 準備 CSV 檔案，列出 USER\$1ID 欄中要刪除的使用者 userIds。

1. 將 CSV 檔案上傳至 Amazon S3 儲存貯體。您的 Amazon Personalize 服務角色必須具有存取此儲存貯體的許可。

1.  建立資料刪除任務。*資料刪除任務*是一種批次任務，可從資料集群組中的模型和資料集中刪除使用者及其資料。

**Topics**
+ [

## 指導方針和要求
](#data-deletion-guidelines-requirements)
+ [

## 準備要刪除的使用者清單
](#prepare-deletion-input-file)
+ [

## 建立資料刪除任務
](#creating-data-deletion-job)

## 指導方針和要求
<a name="data-deletion-guidelines-requirements"></a>

以下是刪除使用者的指導方針和要求：
+  建立資料刪除任務之前，請確定沒有任何使用資料集的任務正在進行中，例如訓練任務、批次任務，或大量或個別匯入操作。並避免在資料刪除任務進行時建立此類任務。如果發生任何訓練或匯入，我們無法保證會從模型中刪除使用者的資料，建議您建立額外的資料刪除任務。
+  資料刪除任務不會刪除對 Amazon Personalize 外部使用者的參考。例如，它不會從 Amazon S3 儲存貯體中的批次建議中刪除其 userId。您必須手動刪除這些記錄。
+  對於狀態為 PENDING 的資料集群組，您最多可以有 5 個刪除任務。
+  資料刪除輸入檔案的總計大小上限為 100 MB。您可以在建立刪除任務時重複使用相同的輸入檔案。
+  每個資料刪除任務都會刪除*資料集群組*中的使用者及其互動資料。若要在所有資料集群組中刪除其資料，您必須為每個資料集群組建立資料刪除任務。
+ 建立任務後，最多可能需要一天的時間才能從資料集和模型中刪除使用者的資料。
+ 任務完成後，請務必更新任何自訂資源。請務必建立新的解決方案版本，並視需要更新您的行銷活動。如果您使用自動訓練，您仍然可以手動建立新的解決方案版本。
+  您的 Amazon Personalize 服務角色必須具有存取 Amazon S3 儲存貯體的許可，其中包含要刪除的使用者清單。它需要`GetObject`儲存貯體及其內容的 和 `ListBucket` 許可。這些許可與匯入資料相同。如需授予許可和政策範例的詳細資訊，請參閱 [讓 Amazon Personalize 存取 Amazon S3 資源](granting-personalize-s3-access.md)。
+  您無法在存放要刪除之使用者 userIds清單的 Amazon S3 儲存貯體上使用自己的 AWS Key Management Service 金鑰。
+  如果項目僅出現在您的項目互動資料集中，且您刪除的使用者僅與此項目互動，則此項目將不再出現在建議中。

## 準備要刪除的使用者清單
<a name="prepare-deletion-input-file"></a>

 從 Amazon Personalize 刪除使用者之前，您必須準備要在 CSV 檔案中刪除的使用者清單，並將其上傳至 Amazon S3。

**準備要刪除並上傳的使用者清單**

1. 建立 CSV 檔案，列出要刪除的使用者的 userIds。以下顯示 CSV 檔案的格式。

   ```
   USER_ID
   abc
   2a
   5basc
   ab35
   123f
   a55d
   0v22
   441fa
   efg
   ```

1. 將您的 CSV 檔案上傳至 Amazon Simple Storage Service ( Amazon S3) 儲存貯體。如需將檔案上傳至 Amazon S3 的詳細資訊，請參閱《Amazon Simple Storage Service 使用者指南》中的[使用拖放功能上傳檔案和資料夾](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/upload-objects.html)。

1. 讓 Amazon Personalize 存取您的儲存貯體和 CSV 檔案。Amazon Personalize 必須具有在您的儲存貯體及其內容上執行 `GetObject` 和 `ListBucket`動作的許可。這些許可與匯入資料相同。如需授予許可和政策範例的詳細資訊，請參閱 [讓 Amazon Personalize 存取 Amazon S3 資源](granting-personalize-s3-access.md)。

## 建立資料刪除任務
<a name="creating-data-deletion-job"></a>

完成 後[準備要刪除的使用者清單](#prepare-deletion-input-file)，您就可以刪除具有資料刪除任務的使用者。

*資料刪除任務*是一種批次任務，可從資料集群組中的模型和資料集中刪除使用者及其資料。刪除使用者後，Amazon Personalize 不會再訓練其資料，也不會在產生使用者區段時考慮使用者。

當您建立資料刪除任務時，您可以指定要刪除的使用者清單的 Amazon S3 位置。
+ 如果您的資料位於單一檔案中，請使用 Amazon S3 位置的下列語法：

  **s3://amzn-s3-demo-bucket/<folder path>/<CSV filename>.csv**
+ 如果您的 CSV 檔案位於 Amazon S3 儲存貯體的資料夾中，您可以指定資料夾的路徑。對於資料刪除任務，Amazon Personalize 會使用 資料夾和任何子資料夾中具有副`.csv`檔名的所有檔案。它會忽略任何其他類型的檔案。使用下列語法搭配 資料夾名稱`/`後面的 ：

  **s3://amzn-s3-demo-bucket/<folder path>/**

您使用的角色必須具有在您的 Amazon S3 儲存貯體及其內容上執行 和 `GetObject``ListBucket`動作的許可。如需授予許可和政策範例的詳細資訊，請參閱 [讓 Amazon Personalize 存取 Amazon S3 資源](granting-personalize-s3-access.md)。

 您可以使用 Amazon Personalize 主控台、 AWS Command Line Interface (AWS CLI) 或 AWS SDKs建立資料刪除任務。

### 建立資料刪除任務 （主控台）
<a name="create-data-deletion-job-console"></a>

 若要使用 Amazon Personalize 主控台刪除使用者，請使用資料的名稱、IAM 服務角色和 Amazon S3 位置來建立資料刪除任務。

**刪除記錄 （主控台）**

1. 在 [https://console.aws.amazon.com/personalize/home](https://console.aws.amazon.com/personalize/home)：// 開啟 Amazon Personalize 主控台並登入您的帳戶。

1.  在**資料集群組**頁面上，選擇您的資料集群組。資料集群組**概觀**隨即顯示。

1. 在導覽窗格中，選擇**資料集**。

1. 在**資料刪除任務**中，選擇**建立任務**。

1. 在**任務詳細資訊**中，為任務命名。

1. 在 **S3 輸入來源**中，針對 **S3 位置**，指定 CSV 檔案的 Amazon S3 位置，該檔案會存放要刪除的使用者 userIds清單。您已在 中準備此檔案[準備要刪除的使用者清單](#prepare-deletion-input-file)。

1. 在 **IAM 角色**中，選擇建立新角色或使用現有的角色。如果您完成建立 Amazon Personalize 角色的先決條件，並授予此角色存取 Amazon S3 儲存貯體的權限，請選擇**使用現有的服務角色**，並指定您在 中建立的角色[為 Amazon Personalize 建立 IAM 角色](set-up-required-permissions.md#set-up-create-role-with-permissions)。

   您使用的角色必須具有在您的 Amazon S3 儲存貯體及其內容上執行 和 `GetObject``ListBucket`動作的許可。這些許可與匯入資料相同。如需授予許可和政策範例的詳細資訊，請參閱 [讓 Amazon Personalize 存取 Amazon S3 資源](granting-personalize-s3-access.md)。

1. 對於**標籤**，選擇性地新增任何標籤。如需標記 Amazon Personalize 資源的詳細資訊，請參閱 [標記 Amazon Personalize 資源](tagging-resources.md)。

1. 選擇**建立作業**。任務開始，並顯示詳細資訊頁面。

    建立任務之後，從資料集和模型中刪除使用者資料大約需要一天的時間。在任務完成之前，Amazon Personalize 會在訓練時繼續使用資料。使用者可能會出現在使用者區段中。

   當狀態顯示為 COMPLETED 時，資料刪除即完成。如果任務因任何原因失敗，我們建議您建立另一個資料刪除任務。任務完成後，請務必更新任何自訂資源。請務必建立新的解決方案版本，並視需要更新您的行銷活動。如果您使用自動訓練，您仍然可以手動建立新的解決方案版本。

### 建立資料刪除任務 (AWS CLI)
<a name="create-data-deletion-job-cli"></a>

 若要使用 刪除使用者 AWS CLI，請使用 `create-data-deletion-job`命令。此命令使用 CreateDataDeletion API 操作。下列程式碼示範如何建立資料刪除任務。若要使用程式碼，請更新它以指定任務名稱、您在 中建立的 IAM 角色[為 Amazon Personalize 建立 IAM 角色](set-up-required-permissions.md#set-up-create-role-with-permissions)，以及資料的 Amazon S3 位置。您已在 中準備此檔案[準備要刪除的使用者清單](#prepare-deletion-input-file)。

```
aws personalize create-data-deletion-job \
--job-name deletion job name \
--dataset-group-arn dataset group ARN \
--data-source dataLocation=s3://amzn-s3-demo-bucket/filename.csv \
--role-arn roleArn
```

 建立任務後，從資料集和模型中刪除使用者資料大約需要一天的時間。在任務完成之前，Amazon Personalize 會在訓練時繼續使用資料。使用者可能會出現在使用者區段中。

當狀態為 COMPLETED 時，任務即完成。使用 `describe-data-deletion-job`命令檢查狀態，並指定資料刪除任務 ARN。如需 API 操作的詳細資訊，請參閱 [DescribeDataDeletionJob](API_DescribeDataDeletionJob.md)。若要檢視依建立時間排序的資料刪除任務歷史記錄，請使用 [ListDataDeletionJobs](API_ListDataDeletionJobs.md) API 操作。

如果任務因任何原因失敗，建議您建立另一個資料刪除任務。任務完成後，請務必更新任何自訂資源。請務必建立新的解決方案版本，並視需要更新您的行銷活動。如果您使用自動訓練，您仍然可以手動建立新的解決方案版本。

### 建立資料刪除任務AWS SDKs)
<a name="create-data-deletion-job-sdks"></a>

 若要刪除具有 AWS SDKs的使用者，請使用 [CreateDataDeletionJob](API_CreateDataDeletionJob.md) API 操作。下列程式碼示範如何建立資料刪除任務。若要使用程式碼，請更新它以指定任務名稱、您在 中建立的 IAM 角色[為 Amazon Personalize 建立 IAM 角色](set-up-required-permissions.md#set-up-create-role-with-permissions)，以及資料的 Amazon S3 位置。您已在 中準備此檔案[準備要刪除的使用者清單](#prepare-deletion-input-file)。

```
import boto3

personalize = boto3.client('personalize')

response = personalize.create_data_deletion_job(
    jobName = 'Deletion job name',
    datasetGroupArn = 'Dataset Group ARN',
    dataSource = {'dataLocation':'s3://amzn-s3-demo-bucket/file.csv'},
    roleArn = 'role_arn'
)

deletion_job_arn = response['dataDeletionJobArn']

print ('Deletion Job arn: ' + deletion_job_arn)

description = personalize.describe_data_deletion_job(
    dataDeletionJobArn = deletion_job_arn)['dataDeletionJob']

print('Name: ' + description['jobName'])
print('ARN: ' + description['dataDeletionJobArn'])
print('Status: ' + description['status'])
```

 建立任務後，從資料集和模型中刪除使用者資料大約需要一天的時間。在任務完成之前，Amazon Personalize 會在訓練時繼續使用資料。使用者可能會出現在使用者區段中。

當狀態為 COMPLETED 時，任務即完成。使用 [DescribeDataDeletionJob](API_DescribeDataDeletionJob.md)操作檢查狀態，並指定資料刪除任務 ARN。若要檢視依建立時間排序的資料刪除任務歷史記錄，請使用 [ListDataDeletionJobs](API_ListDataDeletionJobs.md) API 操作。

如果任務因任何原因失敗，建議您建立另一個資料刪除任務。任務完成後，請務必更新任何自訂資源。請務必建立新的解決方案版本，並視需要更新您的行銷活動。如果您使用自動訓練，您仍然可以手動建立新的解決方案版本。