データ削除ジョブによるユーザーとそのデータの削除 - Amazon Personalize

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

データ削除ジョブによるユーザーとそのデータの削除

データをインポートしたら、メタデータやインタラクションデータを含むユーザーとそのデータをデータセットグループから削除できます。コンプライアンスプログラムの一部としてユーザーデータを削除したり、ユーザー削除リクエストに対処したり、ユーザーベースの変更に応じてデータを最新の状態に保つことができます。

ユーザーを削除すると、Amazon Personalize はデータに関するトレーニングを行わず、ユーザーセグメントの生成時にユーザーを考慮しなくなります。

Amazon Personalize のデータセットおよびデータセットグループのモデル内のユーザーへの参照を削除するには、次の手順を実行します。

  1. USER_ID 列で削除するユーザーの を一覧表示するCSVファイルを準備 userIds します。

  2. Amazon S3 バケットにCSVファイルをアップロードします。Amazon Personalize サービスロールには、このバケットへのアクセス許可が必要です。

  3. データ削除ジョブを作成します。データ削除ジョブは、データセットグループのモデルとデータセットからユーザーとそのデータを削除するバッチジョブです。

ガイドラインと要件

ユーザーを削除するためのガイドラインと要件は次のとおりです。

  • データ削除ジョブを作成する前に、トレーニングジョブ、バッチジョブ、一括または個別のインポートオペレーションなど、データセットを使用するジョブが進行中でないことを確認してください。また、データ削除ジョブの進行中は、このようなジョブを作成しないようにしてください。トレーニングやインポートが発生した場合、ユーザーのデータがモデルから削除されることは保証できないため、追加のデータ削除ジョブを作成することをお勧めします。

  • データ削除ジョブでは、Amazon Personalize 以外のユーザーへの参照は削除されません。例えば、Amazon S3 バケットのバッチレコメンデーションuserIdから を削除することはありません。これらのレコードは手動で削除する必要があります。

  • ステータスが のデータセットグループに対して、最大 5 つの削除ジョブを持つことができますPENDING。

  • データ削除入力ファイルの最大合計サイズは 50 MB です。削除ジョブを作成するときと同じ入力ファイルを再利用できます。

  • 各データ削除ジョブは、データセットグループ 内のユーザーとそのインタラクションデータを削除します。すべてのデータセットグループのデータを削除するには、データセットグループごとにデータ削除ジョブを作成する必要があります。

  • ジョブを作成した後、データセットやモデルからユーザーのデータを削除するまでに最大 1 日かかる場合があります。

  • ジョブが完了したら、必ずカスタムリソースを更新してください。必ず新しいソリューションバージョンを作成し、必要に応じてキャンペーンを更新してください。自動トレーニングを使用する場合でも、新しいソリューションバージョンを手動で作成できます。

  • Amazon Personalize サービスロールには、削除するユーザーのリストを含む Amazon S3 バケットへのアクセス許可が必要です。バケットGetObjectとそのコンテンツには および アクセスListBucket許可が必要です。これらのアクセス許可はデータのインポートと同じです。アクセス許可の付与とポリシーの例については、「」を参照してくださいAmazon Personalize に対する、Amazon S3 リソースへのアクセスの付与

  • 削除する userIds ユーザーのリストを保存する Amazon S3 バケットで独自の AWS Key Management Service キーを使用することはできません。

  • アイテムがアイテムインタラクションデータセットにのみ表示され、削除しようとしているユーザーのみがこのアイテムとインタラクションしている場合、このアイテムはレコメンデーションに表示されなくなります。

削除するユーザーのリストの準備

Amazon Personalize からユーザーを削除する前に、CSVファイルから削除するユーザーのリストを準備し、Amazon S3 にアップロードする必要があります。

削除してアップロードするユーザーのリストを準備するには
  1. 削除するユーザーの userIds を一覧表示するCSVファイルを作成します。以下は、CSVファイルのフォーマット方法を示しています。

    USER_ID abc 2a 5basc ab35 123f a55d 0v22 441fa efg
  2. Amazon Simple Storage Service ( Amazon S3) バケットにCSVファイルをアップロードします。Amazon S3 へのファイルのアップロードの詳細については、Amazon Simple Storage Service ユーザーガイドの「ドラッグアンドドロップを使用したファイルとフォルダのアップロード」を参照してください。

  3. Amazon Personalize にバケットとCSVファイルへのアクセスを許可します。Amazon Personalize には、バケットとそのコンテンツに対して GetObjectおよび ListBucket アクションを実行するアクセス許可が必要です。これらのアクセス許可はデータのインポートと同じです。アクセス許可の付与とポリシーの例については、「」を参照してくださいAmazon Personalize に対する、Amazon S3 リソースへのアクセスの付与

データ削除ジョブの作成

を完了すると削除するユーザーのリストの準備、データ削除ジョブを持つユーザーを削除する準備が整います。

データ削除ジョブは、データセットグループ内のモデルとデータセットからユーザーとそのデータを削除するバッチジョブです。ユーザーを削除すると、Amazon Personalize はデータに関するトレーニングを行わず、ユーザーセグメントの生成時にユーザーを考慮しなくなります。

データ削除ジョブを作成するときは、削除するユーザーリストの Amazon S3 の場所を指定します。

  • データが 1 つのファイルにある場合は、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 リソースへのアクセスの付与

データ削除ジョブは、Amazon Personalize コンソール、 AWS Command Line Interface (AWS CLI)、または を使用して作成できます AWS SDKs。

Amazon Personalize コンソールでユーザーを削除するには、名前、IAMサービスロール、およびデータの Amazon S3 の場所を使用してデータ削除ジョブを作成します。

レコードを削除するには (コンソール)
  1. https://console.aws.amazon.com/personalize/自宅の Amazon Personalize コンソールを開き、アカウントにサインインします。

  2. [データセットグループ] のページで、データセットグループを選択します。データセットグループの 概要 が表示されます。

  3. ナビゲーションペインで、[データセット] を選択します。

  4. データ削除ジョブ で、ジョブの作成 を選択します。

  5. ジョブの詳細 で、ジョブに名前を付けます。

  6. S3 入力ソース S3 ロケーション で、削除するユーザーのリストを保存するCSVファイルの Amazon S3 userIds の場所を指定します。このファイルは で準備しました削除するユーザーのリストの準備

  7. IAM ロール で、新しいロールを作成するか、既存のロールを使用するかを選択します。Amazon Personalize のロールを作成し、このロールに Amazon S3 バケットへのアクセス権を付与するための前提条件を満たしている場合は、既存のサービスロールを使用するを選択し、 で作成したロールを指定しますAmazon Personalize 向けの IAM ロールの作成

    使用するロールには、Amazon S3 バケットとそのコンテンツに対して GetObjectおよび ListBucket アクションを実行するアクセス許可が必要です。これらのアクセス許可はデータのインポートと同じです。アクセス許可の付与とポリシーの例については、「」を参照してくださいAmazon Personalize に対する、Amazon S3 リソースへのアクセスの付与

  8. [タグ] には、オプションで任意のタグを追加します。Amazon Personalize リソースのタグ付けについての詳細は、「Amazon Personalize リソースのタグ付け」を参照してください。

  9. [ジョブの作成]を選択します。ジョブが開始され、詳細ページが表示されます。

    ジョブを作成した後、データセットやモデルからユーザーのデータを削除するまで約 1 日かかります。ジョブが完了するまで、Amazon Personalize はトレーニング時に引き続きデータを使用します。また、ユーザーはユーザーセグメントに表示される場合があります。

    ステータスが と表示されると、データの削除は完了ですCOMPLETED。何らかの理由でジョブが失敗した場合は、別のデータ削除ジョブを作成することをお勧めします。ジョブが完了したら、必ずカスタムリソースを更新してください。必ず新しいソリューションバージョンを作成し、必要に応じてキャンペーンを更新してください。自動トレーニングを使用する場合でも、新しいソリューションバージョンを手動で作成できます。

でユーザーを削除するには AWS CLI、 create-data-deletion-job コマンドを使用します。このコマンドは CreateDataDeletion APIオペレーションを使用します。次のコードは、データ削除ジョブを作成する方法を示しています。コードを使用するには、コードを更新して、ジョブ名、 で作成したIAMロールAmazon Personalize 向けの IAM ロールの作成、およびデータの Amazon S3 の場所を指定します。このファイルは で準備しました削除するユーザーのリストの準備

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

ジョブを作成した後、データセットやモデルからユーザーのデータを削除するまで約 1 日かかります。ジョブが完了するまで、Amazon Personalize はトレーニング時に引き続きデータを使用します。また、ユーザーはユーザーセグメントに表示される場合があります。

ステータスが になると、ジョブは完了しますCOMPLETED。describe-data-deletion-job コマンドを使用してステータスを確認し、データ削除ジョブ を指定しますARN。API オペレーションの詳細については、「」を参照してくださいDescribeDataDeletionJob。作成時刻でソートされたデータ削除ジョブの履歴を表示するには、 ListDataDeletionJobsAPIオペレーションを使用します。

何らかの理由でジョブが失敗した場合は、別のデータ削除ジョブを作成することをお勧めします。ジョブが完了したら、必ずカスタムリソースを更新してください。必ず新しいソリューションバージョンを作成し、必要に応じてキャンペーンを更新してください。自動トレーニングを使用する場合でも、新しいソリューションバージョンを手動で作成できます。

でユーザーを削除するには AWS SDKs、 CreateDataDeletionJobAPIオペレーションを使用します。次のコードは、データ削除ジョブを作成する方法を示しています。コードを使用するには、コードを更新して、ジョブ名、 で作成したIAMロールAmazon Personalize 向けの IAM ロールの作成、およびデータの Amazon S3 の場所を指定します。このファイルは で準備しました削除するユーザーのリストの準備

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'])

ジョブを作成した後、データセットやモデルからユーザーのデータを削除するのに約 1 日かかります。ジョブが完了するまで、Amazon Personalize はトレーニング時に引き続きデータを使用します。また、ユーザーはユーザーセグメントに表示される場合があります。

ステータスが になると、ジョブは完了しますCOMPLETED。DescribeDataDeletionJob オペレーションを使用してステータスを確認し、データ削除ジョブ を指定しますARN。作成時刻でソートされたデータ削除ジョブの履歴を表示するには、 ListDataDeletionJobsAPIオペレーションを使用します。

何らかの理由でジョブが失敗した場合は、別のデータ削除ジョブを作成することをお勧めします。ジョブが完了したら、必ずカスタムリソースを更新してください。必ず新しいソリューションバージョンを作成し、必要に応じてキャンペーンを更新してください。自動トレーニングを使用する場合でも、新しいソリューションバージョンを手動で作成できます。