

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

# Amazon Personalize リソースを削除するための要件
リソースの削除

リソースを削除すると、不要なコストを回避できます。例えば、キャンペーンがアクティブな間はキャンペーンコストが発生します。不要なコストを避けるため、完了したらキャンペーンを削除します。課金および料金の詳細な一覧については、「[Amazon Personalize の料金表](https://aws.amazon.com/personalize/pricing/)」を参照してください。

Amazon Personalize コンソールでリソースを削除するには、リソースの詳細ページで **[削除]** を選択します。Amazon Personalize API を使用してリソースを削除するには、SDK または AWS Command Line Interface (AWS CLI) で `Delete` API を使用します。

Amazon Personalize コンソール、AWS Command Line Interface (AWS CLI)、または AWS SDK を使用してデータセットを削除する詳細なステップについては、「[データセットを削除してすべてのデータを削除する](delete-dataset.md)」を参照してください。これらのステップのパターンは、他の Amazon Personalize リソースに適用できます。ユーザーとそのデータをデータセットグループから削除する方法については、「[データ削除ジョブを使用してユーザーとそのデータを削除する](delete-records.md)」を参照してください。

 他のリソースを削除する前に、一部のリソースを削除する必要があります。例えば、イベントトラッカーとアイテムインタラクションデータセットを作成する場合は、データセットを削除する前にイベントトラッカーを削除する必要があります。以下のセクションでは、Amazon Personalize リソースを削除するためのガイドラインと順序要件について説明します。

**Topics**
+ [

## リソースを削除するためのガイドライン
](#cleaning-up-guidelines)
+ [

## リソース削除の推奨順序
](#deleting-resources-order)
+ [

# データ削除ジョブを使用してユーザーとそのデータを削除する
](delete-records.md)
+ [

# データセットを削除してすべてのデータを削除する
](delete-dataset.md)

## リソースを削除するためのガイドライン


リソースを削除するためのガイドラインを次に示します。
+ Amazon Personalize でリソースを削除すると、元に戻せません。削除は、開始後に停止することはできません。
+ ステータスが 1 つの状態から別の状態に変更されているリソースを削除することはできません。例えば、CREATE PENDING または IN PROGRESS のリソースを削除することはできません。リソースのステータスは ACTIVE または CREATE FAILED である必要があります。これには、ソリューションの `latestSolutionUpdate` ステータスが含まれます。`Describe` API を使用してリソースのステータスを確認できます。例えば、[DescribeCampaign](API_DescribeCampaign.md) API オペレーションです。
+ Amazon S3 でトレーニングデータを削除する方法については、「[S3 バケットからオブジェクトを削除する方法](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-objects.html)」を参照してください。
+ データセットのインポートジョブは、完了しても課金されず、削除することはできません。
+ スキーマには課金されず、Amazon Personalize コンソールでスキーマを削除することはできません。スキーマを削除するには、[DeleteSchema](API_DeleteSchema.md) API オペレーションを使用します。

以下は、データセットの削除に固有の要件です。
+ データセットを削除する前に、すべてのフィルターを削除する必要があります。
+ イベントトラッカーを作成した場合は、アイテムインタラクションデータセットを削除する前に削除する必要があります。
+ データセットを参照するメトリクス属性を作成した場合は、まずメトリクス属性を削除する必要があります。
+ User-Personalization-v2 レシピ、User-Personalization レシピ、Next-Best-Action レシピ、または*上位のおすすめ*および*おすすめ*ユースケースを使用している場合、データセットを削除すると、関連するソリューションバージョンまたはレコメンダーの自動更新が停止します。
+ 関連付け済み `DatasetImportJob` は、CREATE PENDING または IN PROGRESS のステータスを持つことはできません。
+ 関連付け済み `BatchInferenceJob` または `BatchSegmentJob` は、CREATE PENDING または IN PROGRESS のステータスを持つことはできません。
+ 関連付け済みの `Recommender`、`SolutionVersion` は、CREATE PENDING または IN PROGRESS のステータスを持つことはできません。
+ 関連付け済みの `Campaign` は、CREATE PENDING、IN PROGRESS、または ACTIVE のステータスを持つことはできません。

## リソース削除の推奨順序


 削除エラーを回避するには、次の順序でデータセットグループからリソースを削除することをお勧めします。データセットグループ内のリソースを識別するには、List API オペレーションを使用できます。例えば、[ListFilters](API_ListFilters.md) API オペレーションを使用して、データセットグループ内のすべてのフィルターを識別できます。

1. 任意のキャンペーンまたはレコメンダー — API を使用してキャンペーンまたはレコメンダーを削除するには、[DeleteCampaign](API_DeleteCampaign.md) または [DeleteRecommender](API_DeleteRecommender.md) API オペレーションを使用します。レコメンダーを使用して、レコメンダーを停止して後で開始できます。こうすることで、レコメンダーへの請求を一時停止して、使用したときだけ料金を支払うことができます。詳細については、「[レコメンダーを停止する](stopping-starting-recommender.md)」を参照してください。

1. 任意のソリューション — API を使用してソリューションを削除するには、[DeleteSolution](API_DeleteSolution.md) API オペレーションを使用します。ソリューションを削除するには、ソリューションの更新を進行中にすることはできません。`latestSolutionUpdate` のステータスは ACTIVE または CREATE FAILED である必要があります。ソリューションを削除すると、関連するすべてのソリューションバージョンが削除されます。どのソリューションバージョンも、CREATE PENDING または IN PROGRESS のステータスを持つことはできません。

1. イベントトラッカー — API を使用してイベントトラッカーを削除するには、[DeleteEventTracker](API_DeleteEventTracker.md) API オペレーションを使用します。アイテムインタラクションデータセットを削除する前に、イベントトラッカーを削除する必要があります。

1. メトリクス属性 — API を使用してメトリクス属性を削除するには、[DeleteMetricAttribution](API_DeleteMetricAttribution.md) API オペレーションを使用します。

1. すべてのフィルター — API を使用してフィルターを削除するには、[DeleteFilter](API_DeleteFilter.md) API オペレーションを使用します。データセットを削除する前に、すべてのフィルターを削除する必要があります。

1. 任意のデータセット — API を使用してデータセットを削除するには、[DeleteDataset](API_DeleteDataset.md) API オペレーションを使用します。

1. データセットグループ — API を使用してデータセットグループを削除するには、[DeleteDatasetGroup](API_DeleteDatasetGroup.md) API オペレーションを使用します。

1. スキーマ — スキーマを削除するには、[DeleteSchema](API_DeleteSchema.md) API オペレーションを使用します。

# データ削除ジョブを使用してユーザーとそのデータを削除する
ユーザーの削除

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

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

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

1. USER\$1ID 列で削除するユーザーの userId を一覧表示する CSV ファイルを作成します。

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

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

**Topics**
+ [

## ガイドラインと要件
](#data-deletion-guidelines-requirements)
+ [

## 削除するユーザーのリストを準備する
](#prepare-deletion-input-file)
+ [

## データ削除ジョブの作成
](#creating-data-deletion-job)

## ガイドラインと要件


ユーザーを削除するためのガイドラインと要件を次に示します。
+  データ削除ジョブを作成する前に、トレーニングジョブ、バッチジョブ、一括または個別のインポートオペレーションなど、データセットを使用するジョブが進行中でないことを確認します。また、データ削除ジョブが進行中の間は、このようなジョブを作成しないでください。トレーニングやインポートが発生した場合、ユーザーのデータがモデルから削除されることを保証することはできません。追加のデータ削除ジョブを作成することをお勧めします。
+  データ削除ジョブは、Amazon Personalize の外部ユーザーへの参照を削除しません。例えば、Amazon S3 バケットのバッチレコメンデーションから userId を削除することはありません。これらのレコードは手動で削除する必要があります。
+  ステータスが PENDING のデータセットグループには、最大 5 つの削除ジョブを設定できます。
+  データ削除入力ファイルの最大合計サイズは 100 MB です。削除ジョブを作成するときと同じ入力ファイルを再利用できます。
+  各データ削除ジョブは、*データセットグループ*内のユーザーとそのインタラクションデータを削除します。すべてのデータセットグループでデータを削除するには、データセットグループごとにデータ削除ジョブを作成する必要があります。
+ ジョブを作成した後、データセットとモデルからユーザーのデータを削除するまでに最大 1 日かかる場合があります。
+ ジョブが完了したら、必ずカスタムリソースを更新してください。必ず新しいソリューションバージョンを作成し、必要に応じてキャンペーンを更新します。自動トレーニングを使用している場合でも、新しいソリューションバージョンを手動で作成できます。
+  Amazon Personalize サービスロールには、削除するユーザーのリストを含む Amazon S3 バケットにアクセスするアクセス許可が必要です。バケットとそのコンテンツに対する `GetObject` と `ListBucket` アクセス許可が必要です。これらのアクセス許可は、データのインポートと同じです。アクセス許可の付与とポリシーの例については、「[Amazon Personalize に対する、Amazon S3 リソースへのアクセスの付与](granting-personalize-s3-access.md)」を参照してください。
+  削除するユーザーの userId のリストを保存する Amazon S3 バケットで独自の AWS Key Management Service キーを使用することはできません。
+  アイテムがアイテムインタラクションデータセットにのみ表示され、削除しているユーザーのみがこのアイテムとやり取りした場合、このアイテムはレコメンデーションに表示されなくなります。

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


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

**削除してアップロードするユーザーのリストを準備するには**

1. 削除するユーザーの userId を一覧表示する CSV ファイルを作成します。以下は、CSV ファイルのフォーマット方法を示しています。

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

1. Amazon Simple Storage Service (Amazon S3) バケットに CSV ファイルをアップロードします。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)」を参照してください。

## データ削除ジョブの作成


[削除するユーザーのリストを準備する](#prepare-deletion-input-file) を完了すると、データ削除ジョブを使用してユーザーを削除する準備が整います。

*データ削除ジョブ*は、データセットグループのモデルとデータセットからユーザーとそのデータを削除するバッチジョブです。ユーザーを削除すると、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 リソースへのアクセスの付与](granting-personalize-s3-access.md)」を参照してください。

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

### データ削除ジョブの作成 (コンソール)


 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 の場所]** に対して、削除するユーザーの userId のリストを保存する CSV ファイルの Amazon S3 の場所を指定します。このファイルは「[削除するユーザーのリストを準備する](#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. **[ジョブの作成]** を選択します。ジョブが開始され、詳細ページが表示されます。

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

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

### データ削除ジョブの作成 (AWS CLI)


 AWS CLI を使用してユーザーを削除するには、`create-data-deletion-job` コマンドを使用します。このコマンドは CreateDataDeletion API オペレーションを使用します。次のコードは、データ削除ジョブを作成する方法を示しています。コードを使用するには、ジョブ名、「[Amazon Personalize 向けの IAM ロールの作成](set-up-required-permissions.md#set-up-create-role-with-permissions)」で作成した IAM ロール、およびデータの 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
```

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

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

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

### データ削除ジョブの作成 (AWS SDK)


 AWS SDK を使用してユーザーを削除するには、[CreateDataDeletionJob](API_CreateDataDeletionJob.md) API オペレーションを使用します。次のコードは、データ削除ジョブを作成する方法を示しています。コードを使用するには、ジョブ名、「[Amazon Personalize 向けの IAM ロールの作成](set-up-required-permissions.md#set-up-create-role-with-permissions)」で作成した IAM ロール、およびデータの 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'])
```

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

ジョブが終了すると、ステータスは COMPLETED になります。[DescribeDataDeletionJob](API_DescribeDataDeletionJob.md) オペレーションを使用してステータスを確認し、データ削除ジョブ ARN を指定します。作成時刻でソートされたデータ削除ジョブの履歴を表示するには、[ListDataDeletionJobs](API_ListDataDeletionJobs.md) API オペレーションを使用します。

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

# データセットを削除してすべてのデータを削除する
データセットの削除

データセット内のすべてのデータを削除するには、データセットを削除します。Amazon Personalize コンソール、 AWS Command Line Interface (AWS CLI)、または AWS SDKs を使用してデータセットを削除できます。データセットを削除する前に、次の点に注意してください。
+ データセットを削除する前に、すべてのフィルターを削除する必要があります。
+ イベントトラッカーを作成した場合は、アイテムインタラクションデータセットを削除する前に削除する必要があります。
+ データセットを参照するメトリクス属性を作成した場合は、まずメトリクス属性を削除する必要があります。
+ User-Personalization-v2 レシピ、User-Personalization レシピ、Next-Best-Action レシピ、または*上位のおすすめ*および*おすすめ*ユースケースを使用している場合、データセットを削除すると、関連するソリューションバージョンまたはレコメンダーの自動更新が停止します。
+ 関連付け済み `DatasetImportJob` は、CREATE PENDING または IN PROGRESS のステータスを持つことはできません。
+ 関連付け済み `BatchInferenceJob` または `BatchSegmentJob` は、CREATE PENDING または IN PROGRESS のステータスを持つことはできません。
+ 関連付け済みの `Recommender`、`SolutionVersion` は、CREATE PENDING または IN PROGRESS のステータスを持つことはできません。
+ 関連付け済みの `Campaign` は、CREATE PENDING、IN PROGRESS、または ACTIVE のステータスを持つことはできません。



**Topics**
+ [

## データセットの削除 (コンソール)
](#delete-dataset-console)
+ [

## データセットの削除 (AWS CLI)
](#delete-dataset-cli)
+ [

## データセットの削除 (AWS SDKs)
](#delete-dataset-sdk)

## データセットの削除 (コンソール)


Amazon Personalize コンソールでデータセットを削除するには、データセットの詳細ページに移動して [削除] を選択します。

**データセットを削除するには**

1. [https://console.aws.amazon.com/personalize/home](https://console.aws.amazon.com/personalize/home) で Amazon Personalize コンソールを開きます。

1. ナビゲーションペインで、**[Dataset groups]** (データセットグループ) を選択します。

1. **[Dataset groups]** (データセットグループ) のページで、データセットグループを選択します。

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

1. データセットを選択して、詳細ページを開きます。

1. データセットの詳細ページで、**[削除]** を選択し、データセットの削除を確定します。

## データセットの削除 (AWS CLI)


次のコードは、 AWS CLI および [DeleteDataset](API_DeleteDataset.md)オペレーションを使用してデータセットを削除する方法を示しています。

```
aws personalize delete-dataset --dataset-arn dataset-arn
```

## データセットの削除 (AWS SDKs)


次のコードは、 AWS SDKs と [DeleteDataset](API_DeleteDataset.md)オペレーションを使用してデータセットを削除する方法を示しています。

------
#### [ SDK for Python (Boto3) ]

```
import boto3

personalize = boto3.client('personalize')

response = personalize.delete_dataset(
    datasetArn = 'dataset ARN'
)
```

------
#### [ SDK for Java 2.x ]

```
public static void deleteDataset(PersonalizeClient personalizeClient,
                                 String datasetArn) {

    try {
        DeleteDatasetRequest deleteRequest = DeleteDatasetRequest.builder()
                .datasetArn(datasetArn)
                .build();

        int responseCode = personalizeClient.deleteDataset(deleteRequest).sdkHttpResponse().statusCode();
        System.out.println(responseCode);
    } catch (PersonalizeException e) {
        System.out.println(e.awsErrorDetails().errorMessage());
    }
}
```

------