Adobe Experience Platform を使用すると、複数のソースからデータを取得し、個々の顧客に対して堅牢なプロファイルを構築できます。Platformに取り込まれたデータはData Lakeに保存され、データセットのプロファイルが有効になっている場合は、そのデータもReal-time Customer Profileデータストアに保存されます。 不要になったデータや誤って追加されたデータを削除するために、プロファイルストアからデータセットやバッチを削除する必要が生じる場合があります。これには、Real-time Customer Profile APIを使用してProfileシステムジョブ(delete request
)を作成する必要があります。必要に応じて、変更、監視、または削除も可能です。
Data Lakeからデータセットやバッチを削除する場合は、カタログサービスの概要を参照してください。
このガイドで使用されるAPIエンドポイントは、Real-time Customer Profile APIの一部です。 先に進む前に、はじめにを読んで、関連ドキュメントへのリンク、このドキュメントのサンプルAPI呼び出しを読むためのガイド、Experience PlatformAPIの呼び出しを正常に行うために必要なヘッダーに関する重要な情報を確認してください。
削除リクエストは長時間実行される非同期プロセスです。つまり、組織が複数の削除リクエストを一度に実行している場合があります。組織で現在実行中のすべての削除リクエストを表示するには、/system/jobs
エンドポイントに対して GET リクエストを実行できます。
また、オプションのクエリーパラメーターを使用して、応答で返される削除リクエストのリストをフィルタリングすることもできます。複数のパラメーターを使用する場合は、各パラメーターをアンパサンド(&
)で区切ります。
API 形式
GET /system/jobs
GET /system/jobs?{QUERY_PARAMETERS}
パラメーター | 説明 |
---|---|
start |
リクエストの作成時刻に従って、返された結果のページをオフセットします。例:start=4 |
limit |
返す結果の数を制限します。例:limit=10 |
page |
リクエストの作成時刻に従って、特定のページの結果を返します。例:page=2 |
sort |
特定のフィールドで結果を昇順(asc )または降順(desc )で並べ替えます。結果の複数ページを返す場合、並べ替えパラメーターは機能しません。例:sort=batchId:asc |
リクエスト
curl -X GET \
https://platform.adobe.io/data/core/ups/system/jobs \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {IMS_ORG}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
応答
応答には、各削除リクエストのオブジェクトを持つ「子」配列が含まれ、そのリクエストの詳細が含まれます。
{
"_page": {
"count": 100,
"next": "K1JJRDpFaWc5QUwyZFgtMEpBQUFBQUFBQUFBPT0jUlQ6MSNUUkM6MiNGUEM6QWdFQUFBQVFBQWZBQUg0Ly9yL25PcmpmZndEZUR3QT0="
},
"children": [
{
"id": "9c2018e2-cd04-46a4-b38e-89ef7b1fcdf4",
"imsOrgId": "{IMS_ORG}",
"batchId": "8d075b5a178e48389126b9289dcfd0ac",
"jobType": "DELETE",
"status": "COMPLETED",
"metrics": "{\"recordsProcessed\":5,\"timeTakenInSec\":1}",
"createEpoch": 1559026134,
"updateEpoch": 1559026137
},
{
"id": "3f225e7e-ac8c-4904-b1d5-0ce79e03c2ec",
"imsOrgId": "{IMS_ORG}",
"dataSetId": "5c802d3cd83fc114b741c4b5",
"jobType": "DELETE",
"status": "PROCESSING",
"metrics": "{\"recordsProcessed\":0,\"timeTakenInSec\":15}",
"createEpoch": 1559025404,
"updateEpoch": 1559025406
}
]
}
プロパティ | 説明 |
---|---|
_page.count |
リクエストの合計数。この応答はスペースを節約するために切り捨てられています。 |
_page.next |
検索結果のページが追加されている場合は、ルックアップリクエスト内のID値を指定された"next" 値に置き換えて、検索結果の次のページを表示します。 |
jobType |
作成されるジョブのタイプ。この場合、"DELETE" が常に返されます。 |
status |
削除リクエストのステータス。使用できる値は"NEW" 、"PROCESSING" 、"COMPLETED" 、"ERROR" です。 |
metrics |
処理されたレコードの数("recordsProcessed" )と、要求の処理が完了した秒数、または要求が完了するまでの時間("timeTakenInSec" )を含むオブジェクトです。 |
新しい削除リクエストの開始は、/systems/jobs
エンドポイントへの POST リクエストを通じて行われます。このエンドポイントでは、削除するデータセットまたはバッチの ID がリクエストの本文に表示されます。
データセットをプロファイルストアから削除するには、POSTリクエストの本文にデータセットIDを含める必要があります。 この操作により、特定のデータセットのすべてのデータが削除されます。Experience Platform では、レコードスキーマと時系列スキーマの両方に基づいたデータセットを削除できます。
API 形式
POST /system/jobs
リクエスト
curl -X POST \
https://platform.adobe.io/data/core/ups/system/jobs \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {IMS_ORG}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '{
"dataSetId": "5c802d3cd83fc114b741c4b5"
}'
プロパティ | 説明 |
---|---|
dataSetId |
(必須)削除するデータセットの ID。 |
応答
正常な応答は、新しく作成された削除リクエストの詳細を返します。この詳細には、システムで生成された一意の読み取り専用 ID が含まれます。これは、リクエストを検索し、そのステータスを確認するために使用できます。作成時のリクエストの status
は、処理が開始されるまで "NEW"
です。応答内の dataSetId
は、リクエストで送信された dataSetId
と一致する必要があります。
{
"id": "3f225e7e-ac8c-4904-b1d5-0ce79e03c2ec",
"imsOrgId": "{IMS_ORG}",
"dataSetId": "5c802d3cd83fc114b741c4b5",
"jobType": "DELETE",
"status": "NEW",
"createEpoch": 1559025404,
"updateEpoch": 1559025406
}
プロパティ | 説明 |
---|---|
id |
システムによって生成された、削除リクエストの一意の読み取り専用 ID。 |
dataSetId |
POST リクエストで指定されたデータセットの ID。 |
バッチを削除するには、バッチ ID を POST リクエストの本文に含める必要があります。レコードスキーマに基づくデータセットのバッチは削除できません。時系列スキーマに基づくデータセットのバッチのみが削除できます。
レコードスキーマに基づくデータセットのバッチを削除できないのは、レコードタイプのデータセットバッチが以前のレコードを上書きするため、「取り消し」または削除できないためです。レコードのスキーマに基づいてデータセットに誤ったバッチが及ぼす影響を取り除く唯一の方法は、誤ったレコードを上書きするために、バッチを正しいデータで再取り込みすることです。
レコードと時系列の動作の詳細については、XDM Systemの概要のXDMデータ動作の節を参照してください。
API 形式
POST /system/jobs
リクエスト
curl -X POST \
https://platform.adobe.io/data/core/ups/system/jobs \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {IMS_ORG}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
-d '{
"batchId": "8d075b5a178e48389126b9289dcfd0ac"
}'
プロパティ | 説明 |
---|---|
batchId |
(必須)削除するバッチの ID。 |
応答
正常な応答は、新しく作成された削除リクエストの詳細を返します。この詳細には、システムで生成された一意の読み取り専用 ID が含まれます。これは、リクエストを検索し、そのステータスを確認するために使用できます。作成時のリクエストの "status"
は、処理が開始されるまで "NEW"
です。応答内の"batchId"
値は、要求で送信される"batchId"
値と一致する必要があります。
{
"id": "9c2018e2-cd04-46a4-b38e-89ef7b1fcdf4",
"imsOrgId": "{IMS_ORG}",
"batchId": "8d075b5a178e48389126b9289dcfd0ac",
"jobType": "DELETE",
"status": "NEW",
"createEpoch": 1559026131,
"updateEpoch": 1559026132
}
プロパティ | 説明 |
---|---|
id |
システムによって生成された、削除リクエストの一意の読み取り専用 ID。 |
batchId |
POST リクエストで指定されたバッチの ID。 |
レコードデータセットバッチの削除リクエストを開始しようとすると、次のような 400 レベルのエラーが発生します。
{
"requestId": "bc4eb29f-63a8-4653-9133-71238884bb81",
"errors": {
"400": [
{
"code": "500",
"message": "Batch can only be specified for EE type 'a294e36d382649dab2cc6ad64a41b674'"
}
]
}
}
特定の削除リクエスト(ステータスなどの詳細を含む)を表示するには、/system/jobs
エンドポイントに対してルックアップ(GET)リクエストを実行し、削除リクエストの ID をパスに含めることができます。
API 形式
GET /system/jobs/{DELETE_REQUEST_ID}
パラメーター | 説明 |
---|---|
{DELETE_REQUEST_ID} |
(必須)表示する削除リクエストの ID。 |
リクエスト
curl -X POST \
https://platform.adobe.io/data/core/ups/system/jobs/9c2018e2-cd04-46a4-b38e-89ef7b1fcdf4 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {IMS_ORG}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
応答
応答には、更新されたステータスを含む、削除リクエストの詳細が表示されます。応答内の削除要求のID("id"
値)は、要求パスで送信されるIDと一致する必要があります。
{
"id": "9c2018e2-cd04-46a4-b38e-89ef7b1fcdf4",
"imsOrgId": "{IMS_ORG}",
"batchId": "8d075b5a178e48389126b9289dcfd0ac",
"jobType": "DELETE",
"status": "COMPLETED",
"metrics": "{\"recordsProcessed\":5,\"timeTakenInSec\":1}",
"createEpoch": 1559026134,
"updateEpoch": 1559026137
}
プロパティ | 説明 |
---|---|
jobType |
作成中のジョブのタイプ。この場合は常に"DELETE" が返されます。 |
status |
削除リクエストのステータス。可能な値:"NEW" 、"PROCESSING" 、"COMPLETED" 、"ERROR" 。 |
metrics |
処理されたレコードの数("recordsProcessed" )と、要求が処理された秒数、または要求が完了するまでの時間("timeTakenInSec" )を含む配列。 |
削除要求のステータスが"COMPLETED"
になったら、データアクセスAPIを使用して削除したデータにアクセスしようとして、そのデータが削除されたことを確認できます。 データアクセス API を使用してデータセットやバッチにアクセスする手順については、データアクセスのドキュメントを参照してください。
Experience Platform では、以前のリクエストを削除できます。これは、削除ジョブが完了しなかった、処理段階で停止したなど、様々な理由で役立つ場合があります。削除リクエストを削除するには、/system/jobs
エンドポイントに対して DELETE リクエストを実行し、削除する削除リクエストの ID をリクエストパスに含めます。
API 形式
DELETE /system/jobs/{DELETE_REQUEST_ID}
パラメーター | 説明 |
---|---|
削除する削除リクエストの ID。 |
リクエスト
curl -X POST \
https://platform.adobe.io/data/core/ups/system/jobs/9c2018e2-cd04-46a4-b38e-89ef7b1fcdf4 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {IMS_ORG}' \
-H 'x-sandbox-name: {SANDBOX_NAME}' \
応答
削除リクエストが成功すると、HTTP ステータス 200(OK)と空の応答本文が返されます。GET リクエストを実行して ID で削除リクエストを表示すると、リクエストが削除されたことを確認できます。削除リクエストが削除されたことを示す HTTP ステータス 404(不検知)が返されます。
Experience Platform内のProfile Storeからデータセットやバッチを削除する手順がわかったので、誤って追加されたデータや組織で不要になったデータを安全に削除できます。 削除リクエストは元に戻せないので、今は不要で将来は不要になると確信しているデータのみを削除するようにしてください。