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

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

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

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

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

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

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

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

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

ガイドラインと要件

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

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

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

  • ステータスが「保留中」のデータセットグループに対して、最大 5 つの削除ジョブを設定できます。

  • データ削除入力ファイルの最大合計サイズは 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. CSV ファイルを Amazon Simple Storage Service (Amazon S3) バケットにアップロードします。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://<name of your S3 bucket>/<folder path>/<CSV filename>.csv

  • CSV ファイルが Amazon S3 バケット内のフォルダにある場合は、フォルダへのパスを指定できます。データ削除ジョブでは、Amazon Personalize は フォルダと任意のサブフォルダにファイル拡張子を持つすべての.csvファイルを使用します。他のタイプのファイルは無視されます。フォルダ名の後に / を付けて次の構文を使用します。

    s3://<name of your S3 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/home で Amazon Personalize コンソールを開き、アカウントにサインインします。

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

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

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

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

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

  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://bucketname/filename.csv \ --role-arn roleArn

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

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

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

AWS SDKsオペレーションを使用します。 CreateDataDeletionJob次のコードは、データ削除ジョブを作成する方法を示しています。コードを使用するには、コードを更新して、ジョブ名、 で作成した 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://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 を指定します。作成時刻でソートされたデータ削除ジョブの履歴を表示するには、 ListDataDeletionJobs API オペレーションを使用します。

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