削除作業指示のレコード work-order-endpoint

Data Hygiene API の /workorder エンドポイントを使用して、Adobe Experience Platformでのレコード削除作業指示の作成、表示および管理をおこないます。 作業指示を使用すると、データセット間でデータの削除を制御、監視および追跡して、データ品質を維持し、組織のデータガバナンス標準をサポートできます。

IMPORTANT
レコード削除作業指示は、データクレンジング、匿名データの削除またはデータの最小化を目的としています。 GDPR などのプライバシー規制の下で、データ主体の権利リクエストに対してレコード削除作業指示を使用しないでください。 コンプライアンスのユースケースについては、Adobe Experience Platform Privacy Service を使用してください。

はじめに

開始する前に、​ 概要 ​ を参照して、必要なヘッダー、サンプル API 呼び出しの読み方および関連ドキュメントの場所を確認してください。

割り当て量と処理タイムライン quotas

レコードの削除作業指示は、組織のライセンス使用権限によって決定され、1 日ごとおよび 1 か月ごとの識別子の送信制限の対象となります。 これらの制限は、UI ベースと API ベースのレコード削除リクエストの両方に適用されます。

NOTE
1 日に最大 1,000,000 個の識別子を送信できますが その権限は残りの月別クォータで与えられている場合に限られます。 1 か月の上限が 100 万未満の場合、毎日の送信がその上限を超えることはできません。

製品別の月間送信使用権限 quota-limits

次の表に、製品および資格レベル別の識別子の送信制限を示します。 各製品の月額上限は、固定の識別子上限またはライセンス取得済みデータボリュームに関連付けられた割合ベースのしきい値の、2 つの値のいずれか小さい方です。 実際には、ほとんどの組織では、実際のアドレス可能なオーディエンスまたはAdobe Customer Journey Analytics行の使用権限に基づいて、月間の上限が引き下げられます。

製品
使用権限の説明
月間キャップ (いずれか小さい方)
Real-Time CDPまたはAdobe Journey Optimizer
プライバシーとセキュリティシールドまたは Healthcare Shield アドオンなし
2,000,000 個の識別子(アドレス可能なオーディエンスの 5%)
Real-Time CDPまたはAdobe Journey Optimizer
Privacy and Security Shield または Healthcare Shield アドオンを使用
15,000,000 個の識別子(アドレス可能なオーディエンスの 10%)
Customer Journey Analytics
プライバシーとセキュリティシールドまたは Healthcare Shield アドオンなし
Customer Journey Analyticsの権利行あたり 2,000,000 の識別子または 1,000 の識別子
Customer Journey Analytics
Privacy and Security Shield または Healthcare Shield アドオンを使用
Customer Journey Analyticsの権利行あたり 15,000,000 個の識別子または 2,000 個の識別子
NOTE
  • クォータは、毎月 1 日にリセットされます。 未使用の割り当ては引き継がれ
  • クォータの使用状況は、送信された識別子 に対して組織でライセンスを取得した 1 か月の使用権限に基づきます。 クォータはシステム・ガードレールによって適用されませんが、監視および確認が可能です。
  • レコード削除作業指示能力は 共有サービス です。 1 か月の上限には、Real-Time CDP、Adobe Journey Optimizer、Customer Journey Analyticsおよび該当する Shield アドオン全体で最高の使用権限が反映されます。

識別子の送信のタイムラインの処理 sla-processing-timelines

送信後、レコードの削除作業指示は、使用権限レベルに基づいてキューに入れられ、処理されます。

製品と使用権限の説明
キューの期間
最大処理時間(SLA)
プライバシーとセキュリティシールドまたは Healthcare Shield アドオンなし
最長 15 日間
30 日
Privacy and Security Shield または Healthcare Shield アドオンを使用
通常 24 時間
15 日

組織でさらに上限が必要な場合は、Adobe担当者に連絡して使用権限のレビューを依頼してください。

TIP
現在のクォータの使用状況または使用権限層を確認するには、​ クォータのリファレンス ガイド ​ を参照してください。

レコード削除作業指示のリスト list

組織のデータハイジーン操作用の、ページ分割されたレコード削除作業指示のリストを取得します。 クエリパラメーターを使用して結果をフィルタリングします。 各作業指示レコードには、アクションタイプ(identity-delete など)、ステータス、関連するデータセットおよびユーザーの詳細、監査メタデータが含まれています。

API 形式

GET /workorder

次の表では、レコード削除作業指示のリストに使用できる問合せパラメータを説明します。

クエリパラメーター
説明
search
フィールド(author、displayName、description、datasetName)間で、大文字と小文字を区別しない部分一致(ワイルドカード検索)。 また、正確な有効期限 ID にも一致します。
type
作業指示タイプ(identity-delete など)で結果をフィルタリングします。
status
作業指示ステータスのコンマ区切りリスト。 ステータス値は、大文字と小文字を区別します。
列挙:receivedvalidatedsubmittedingestedcompletedfailed
author
作業指示(または元の作成者)を最後に更新した人物を検索します。 リテラルまたは SQL パターンを使用できます。
displayName
作業指示の表示名で大文字と小文字が区別されない一致。
description
作業指示の説明で大文字と小文字が区別されない一致。
workorderId
作業指示 ID の完全一致。
sandboxName
リクエストで使用されているサンドボックス名と完全に一致するか、* を使用してすべてのサンドボックスを含めます。
fromDate
この日付以降に作成された作業指示でフィルタリングします。 toDate が設定されている必要があります。
toDate
この日付以前に作成された作業指示でフィルタリングします。 fromDate が設定されている必要があります。
filterDate
この日付に作成、更新、または変更された作業指示ステータスのみを返します。
page
返すページインデックス (0 から始まります)。
limit
1 ページあたりの最大結果数(1 ~ 100、デフォルト:25)。
orderBy
結果の並べ替え順。 昇順/降順には + または - のプレフィックスを使用します。 例:orderBy=-datasetName
properties
結果ごとに含める追加フィールドのコンマ区切りリスト。 (オプション)

リクエスト

次のリクエストは、すべての完了済みレコード削除作業指示を取得します(ページあたり 2 つに制限されています)。

curl -X GET \
  "https://platform.adobe.io/data/core/hygiene/workorder?status=completed&limit=2" \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}'

応答

応答が成功すると、レコード削除作業指示のページ分割されたリストが返されます。

{
  "results": [
    {
      "workorderId": "DI-1729d091-b08b-47f4-923f-6a4af52c93ac",
      "orgId": "9C1F2AC143214567890ABCDE@AcmeOrg",
      "bundleId": "BN-4cfabf02-c22a-45ef-b21f-bd8c3d631f41",
      "action": "identity-delete",
      "createdAt": "2034-03-15T11:02:10.935Z",
      "updatedAt": "2034-03-15T11:10:10.938Z",
      "operationCount": 3,
      "targetServices": [
        "profile",
        "datalake",
        "identity",
        "ajo"
      ],
      "status": "received",
      "createdBy": "a.stark@acme.com <a.stark@acme.com> BD8C3D631F41@acme.com",
      "datasetId": "a7b7c8f3a1b8457eaa5321ab",
      "datasetName": "Acme_Customer_Exports",
      "displayName": "Customer Identity Delete Request",
      "description": "Scheduled identity deletion for compliance"
    }
  ],
  "total": 1,
  "count": 1,
  "_links": {
    "next": {
      "href": "https://platform.adobe.io/workorder?page=1&limit=2",
      "templated": false
    },
    "page": {
      "href": "https://platform.adobe.io/workorder?limit={limit}&page={page}",
      "templated": true
    }
  }
}

次の表に、応答のプロパティを示します。

プロパティ
説明
results
レコードの配列で、作業指示オブジェクトを削除します。 各オブジェクトには、以下のフィールドが含まれます。
workorderId
レコード削除作業指示の一意の ID。
orgId
一意の組織 ID。
bundleId
このレコード削除作業指示を含むバンドルの一意の ID。 バンドルを使用すると、複数の削除指示をダウンストリームサービスでグループ化して処理できます。
action
作業指示でリクエストされたアクションタイプ。
createdAt
作業指示が作成されたときのタイムスタンプ。
updatedAt
作業指示が最後に更新されたときのタイムスタンプ。
operationCount
作業指示に含まれる操作の数。
targetServices
削除を処理したターゲットサービスのセット。 デフォルト値は、組織の使用権限によって異なります。 Real-Time CDPまたはAdobe Journey Optimizerを使用している組織の場合、デフォルトは、サポートされているサービスの完全なセット(["datalake", "identity", "profile", "ajo"])です。 Customer Journey Analyticsのみの組織の場合(リアルタイム顧客プロファイルの使用権限がない場合)、有効な値は ["datalake"] のみです。
status
作業指示の現在のステータス。 使用可能な値:receivedvalidatedsubmittedingestedcompletedfailed
createdBy
作業指示を作成したユーザーのメールアドレスおよび識別子。
datasetId
作業指示のターゲットとなるデータセット:単一のデータセット ID、データセット ID のコンマ区切りリスト(マルチデータセット)、またはリテラル ALL。 リクエストでプロファイルのみのモードを使用した場合、この値は ALL になります。
datasetName
作業指示に関連付けられたデータセットの名前。
displayName
作業指示の人間が読み取れるラベル。
description
作業指示の目的の説明。
total
クエリに一致するレコード削除作業指示の合計数。
count
現在のページのレコード削除作業指示の数。
_links
ページネーションとナビゲーションリンク。
next
次のページ用の href (文字列)と templated (ブール値)を持つオブジェクト。
page
ページナビゲーション用の href (文字列)および templated (ブール値)を持つオブジェクト。

レコード削除作業指示の作成 create

単一のデータセット、複数のデータセット、またはすべてのデータセットから 1 つ以上の ID に関連付けられたレコードを削除するには、/workorder エンドポイントに対して POST リクエストを行います。

作業指示は非同期で処理され、送信後に作業指示リストに表示されます。 マルチデータセットおよびプロファイルのみ(ターゲットサービス)のオプションは、2026 年 3 月のExperience Platform リリース以降、すべてのお客様が一般に利用できるようになります。

TIP
API を通じて送信された各レコード削除作業指示には、最大 100,000 個の ID 含めることができ す。 効率を最大化するために、リクエストのできるだけ多くの ID を送信します。 単一 ID の作業指示など、少量の送信を避けます。

API 形式

POST /workorder
IMPORTANT
レコード削除作業指示は、「プライマリ ID フィールドにのみ機能 ます。 次の制限が適用されます。
  • データセットスキーマでは、プライマリ ID または ID マップを定義する必要があります。 削除できるのは、関連付けられた XDM スキーマがプライマリ ID または ID マップを定義するデータセットからのレコードのみです。
  • セカンダリID はスキャンされません。 データセットに複数の ID フィールドが含まれている場合、照合にプライマリ ID のみが使用されます。 非プライマリ ID に基づいてレコードをターゲット設定または削除することはできません。
  • プライマリ ID が入力されていないレコードはスキップされます。 レコードにプライマリ ID メタデータが入力されていない場合、削除の対象にはなりません。
  • ID 設定の前に取り込まれたデータは適格ではありません。 データ取り込み後にプライマリ ID フィールドがスキーマに追加された場合、以前に取り込んだレコードは、レコード削除作業指示で削除できません。
NOTE
既にアクティブな有効期限があるデータセットのレコード削除作業指示を作成しようとすると、リクエストで HTTP 400 (無効なリクエスト)が返されます。 アクティブな有効期限とは、スケジュールされた、まだ完了していない削除のことです。

ID ペイロード形式(namespacesIdentities または identities

リクエスト本文には、次のうち 1 つだけ を含める必要があります。

形式
プロパティ
形状
使用するタイミング
推奨
namespacesIdentities
namespace (例:{ "code": "email" })および ids (ID 文字列の配列)を持つオブジェクトの配列。
手動で作成したかコードで生成したかに関わらず、すべてのペイロードで使用します。 これは、多くの ID が同じ名前空間を共有する場合に、ペイロードサイズを減らすために特に効率的です。
承諾
identities
namespace (例:{ "code": "email" })と単一の id (文字列)を持つオブジェクトの配列。
下位互換性のために受け入れられました。 これは、csv からデータハイジーンへの変換スクリプト ​ で生成される形式です。 このサービスはこの形式を内部で正規化するので、結果の動作は同じになります。

both propertiesneither property を送信するか、含めるプロパティに 空の配列 を指定すると、API は HTTP 400 (無効なリクエスト) を返し、次のいずれかのメッセージが返されます。

  • 両方のプロパティが提供されています。 "Identities and NamespacesIdentities are not allowed at the same time"
  • リストが指定されていないか、空ではありません: "Identities are Empty for Delete Identity request."

リクエスト

次のリクエストは、指定されたメールアドレスに関連付けられているすべてのレコードを、特定のデータセットから削除します。 推奨される namespacesIdentities 形式を使用します。

curl -X POST \
  https://platform.adobe.io/data/core/hygiene/workorder \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'Content-Type: application/json' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -d '{
        "displayName": "Acme Loyalty - Customer Data Deletion",
        "description": "Delete all records associated with the specified email addresses from the Acme_Loyalty_2023 dataset.",
        "action": "delete_identity",
        "datasetId": "7eab61f3e5c34810a49a1ab3",
        "namespacesIdentities": [
          {
            "namespace": {
              "code": "email"
            },
            "ids": [
              "alice.smith@acmecorp.com",
              "bob.jones@acmecorp.com",
              "charlie.brown@acmecorp.com"
            ]
          }
        ]
      }'

次の表では、レコード削除作業指示を作成するためのプロパティについて説明します。

プロパティ
説明
displayName
このレコード削除作業指示の人間が読み取れるラベル。
description
レコード削除作業指示の説明。
action
レコード削除作業指示に対してリクエストされたアクション。 特定の ID に関連付けられているレコードを削除するには、delete_identity を使用します。
datasetId
データセットの一意の ID。 値は、リテラル ALL、単一のデータセット ID、または 2 つ以上のデータセット ID のコンマ区切りリスト(例:"id1,id2,id3")のいずれか 1 つにする必要があります。 ALL を特定の ID と組み合わせることはできません。 単一データセットリクエストは以前と同様に動作し、マルチデータセットリクエストはリストされた各データセットから ID を削除し、すべてのデータセット ALL ターゲットにします。 データセットには、プライマリ ID または ID マップが必要です。 ID マップが存在する場合、identityMap という名前の最上位フィールドとして存在します。
メモ:データセット行の ID マップに多くの ID が含まれている場合がありますが、プライマリとしてマークできるのは 1 つのみです。 "primary": true がプライマリ ID と一致するように強制するには、id を含める必要があります。
プロファイルのみの削除に targetServices を使用する場合は、datasetIdALL す必要があります。
targetServices
オプション。削除を処理するサービスを指定します。 デフォルト値は、組織の使用権限によって異なります。 Real-Time CDPまたはAdobe Journey Optimizerを使用する組織は、デフォルトで、サポートされるすべてのサービス(["datalake", "identity", "profile", "ajo"])を受け取ります。 Customer Journey Analyticsを使用しているが、リアルタイム顧客プロファイルの使用権限がない組織では、[datalake」 ] のみを使用できます。 削除をプロファイル関連のデータのみに制限し、データレイクはそのままにするには、これを ["identity", "profile", "ajo"] (任意の順序)に設定します。 このプロファイル専用モードには、Real-Time CDPまたはAdobe Journey Optimizerの使用権限が必要で、datasetIdALL す必要があります。
identities
identities または namespacesIdentities のいずれか 1 つだけを使用してください。 オブジェクトの配列。各オブジェクトには、namespacecode を持つオブジェクト、例:"email")および id (単一の ID 文字列)があります。 下位互換性のために受け入れられ、変換スクリプトによって生成されます。 このサービスは、この形式を内部で正規化します。動作は同じです。 上記の ID ペイロード形式 ​ を参照してください。
namespacesIdentities
identities または namespacesIdentities のいずれか 1 つだけを使用してください。 オブジェクトの配列。各オブジェクトには、namespacecode を持つオブジェクト、例:"email")および ids (ID 文字列の配列)があります。 すべてのペイロードに推奨されます。 多くの ID が 1 つの名前空間を共有する場合、namespacesIdentities プロパティはよりコンパクトになります。 上記の ID ペイロード形式 ​ を参照してください。 ID 名前空間:ID 名前空間ドキュメント ​ID サービス API

応答

応答が成功すると、新しいレコードの削除作業指示の詳細が返されます。

{
  "workorderId": "DI-95c40d52-6229-44e8-881b-fc7f072de63d",
  "orgId": "8B1F2AC143214567890ABCDE@AcmeOrg",
  "bundleId": "BN-c61bec61-5ce8-498f-a538-fb84b094adc6",
  "action": "identity-delete",
  "createdAt": "2035-06-02T09:21:00.000Z",
  "updatedAt": "2035-06-02T09:21:05.000Z",
  "operationCount": 1,
  "targetServices": [
    "profile",
    "datalake",
    "identity",
    "ajo"
  ],
  "status": "received",
  "createdBy": "c.lannister@acme.com <c.lannister@acme.com> 7EAB61F3E5C34810A49A1AB3@acme.com",
  "datasetId": "7eab61f3e5c34810a49a1ab3",
  "datasetName": "Acme_Loyalty_2023",
  "displayName": "Loyalty Identity Delete Request",
  "description": "Schedule deletion for Acme loyalty program dataset"
}

次の表に、応答のプロパティを示します。

プロパティ
説明
workorderId
レコード削除作業指示の一意の ID。 この値を使用して、削除のステータスまたは詳細を検索します。
orgId
一意の組織 ID。
bundleId
このレコード削除作業指示を含むバンドルの一意の ID。 バンドルを使用すると、複数の削除指示をダウンストリームサービスでグループ化して処理できます。
action
レコード削除作業指示でリクエストされたアクションタイプ。
createdAt
作業指示が作成されたときのタイムスタンプ。
updatedAt
作業指示が最後に更新されたときのタイムスタンプ。
operationCount
作業指示に含まれる操作の数。
targetServices
レコード削除作業指示のターゲットサービスのリスト。
status
レコード削除作業指示の現在のステータス。
createdBy
レコード削除作業指示を作成したユーザーのメールアドレスおよび識別子。
datasetId
データセットの一意の ID。 リクエストがすべてのデータセットに対しての場合、値は ALL に設定されます。 マルチデータセットリクエストの場合、値は送信されたコンマ区切りリストまたは単一 ID を反映します。
datasetName
このレコード削除作業指示のデータセットの名前。
displayName
レコード削除作業指示の人間が読み取れるラベル。
description
レコード削除作業指示の説明。

response targetServices 値は、リクエストをエコーするか、省略した場合は完全なデフォルトセットを表示します(上記の応答の表を参照)。

マルチデータセットおよびプロファイルのみ(API) multi-dataset-profile-only

次のオプションは API 経由でのみ使用でき、データハイジーン UI ではサポートされていません。 どのデータセットとどのサービスが削除を処理するかを制御し、複数のデータセットの送信と、ターゲットを絞ったプロファイルのみのサービスリクエストを可能にします。

次の表に、各オプションでリクエスト本文と動作がどのように変化するかをまとめます。

オプション
リクエスト本文の変更
動作
マルチデータセット
コンマ区切りのリストを datasetId で使用します(例:"id1,id2,id3")。 単一の ID または ALL は変更されていません。
ID は、リストに表示されたデータセット(または 1 つのデータセットから、または ALL を指定した場合はすべてのデータセットから)から削除されます。
プロファイルのみ(対象サービス)
正確に targetServices["identity", "profile", "ajo"] を追加します(任意の順序)。 datasetId: "ALL" が必要です。
ID、プロファイル、Adobe Journey Optimizerのみが削除を処理し、データレイクは変更されません。

マルチデータセットリクエスト

datasetId フィールドはコンマで分割されています。単一の ID (以前と同じ動作)、ID のコンマ区切りリスト、またはリテラル ALL を使用します。 1 つの作業指示で複数の特定のデータセットから ID を削除するには、コンマ区切りリストを指定します。

"datasetId": "6707eb36eef4d42ab86d9fbe,6643f00c16ddf51767fcf780"

その後、リストに表示された各データセットから ID が削除されます。 単一データセットのリクエストは通常どおりに機能します。ALL を使用して、すべてのデータセットをターゲットに設定します。 値は、ALL、単一のデータセット ID、またはコンマで区切られた 2 つ以上のデータセット ID のいずれかである必要があります(ALL を特定の ID と組み合わせることはできません)。

プロファイルのみ(対象サービス)

データレイクをそのままにして ID およびプロファイル関連データのみを削除するには、targetServices と、これら 3 つの値(identityprofileajo)を任意の順序で含めます。 ID、プロファイルおよびAJOは明示的に含まれ、データレイクは除外されます。 このモードでは、datasetIdALL す必要があります(ユースケースはデータセットごとのフラグメントではなく、完全なプロファイル削除です)。

次の例では、プロファイルのみのレコード削除作業指示を作成します。

curl -X POST \
  "https://platform.adobe.io/data/core/hygiene/workorder" \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'x-sandbox-id: {SANDBOX_ID}' \
  -d '{
    "action": "delete_identity",
    "datasetId": "ALL",
    "displayName": "Profile-only delete for specified identity",
    "description": "Delete identity, profile, and AJO data only; datalake unchanged.",
    "targetServices": ["identity", "profile", "ajo"],
    "namespacesIdentities": [
      {
        "namespace": { "code": "email" },
        "ids": ["user@example.com"]
      }
    ]
  }'

マルチデータセットまたはプロファイルのみのリクエストに対して成功した応答は、他の作業指示の応答と同じ形に従います。 返された datasetId および targetServices はリクエスト内の値(または targetServices が省略された場合は完全なデフォルトリスト)を反映するので、送信された内容を確認できます。

NOTE
レコード削除作業指示のアクションプロパティは、現在、API 応答で identity-delete 定されています。 API が別の値(delete_identity など)を使用するように変更された場合、それに応じてこのドキュメントが更新されます。

レコード削除リクエストの ID リストを JSON に変換(#convert-id-lists-to-json-for-record-delete-requests)

識別子が CSV、TSV、TXT ファイルである場合は、変換スクリプトを使用して、/workorder エンドポイントに必要な JSON ペイロードを生成します。 この方法は、既存のデータファイルを使用する場合に特に便利です。 すぐに使用できるスクリプトと手順については、csv-to-data-hygiene GitHub リポジトリ ​ を参照してください。

スクリプトは identities フォーマットを出力します。つまり、id を使用してオブジェクトごとに 1 つの namespace を出力します。 API はこの形式をそのまま受け入れます。生成された JSON を POST 本文に直接送信でき、変換は行 /workorder ません。 推奨される形式は namespacesIdentities です。​ レコード削除作業指示の作成 ​ および ID ペイロード形式 ​ を参照してください。

JSON ペイロードの生成

次の bash スクリプトの例は、Python または Ruby で変換スクリプトを実行する方法を示しています。

Python スクリプトの実行例
code language-bash
#!/usr/bin/env bash

rm -rf ./output && mkdir output
for NAME in UTF8 CSV TSV TXT XYZ big; do
  ./csv-to-DI-payload.py sample/sample-$NAME.* \
      --verbose \
      --column 2 \
      --namespace email \
      --dataset-id 66f4161cc19b0f2aef3edf10 \
      --description 'a simple sample' \
      --output-dir output
  echo Checking output/sample-$NAME-*.json against expect/sample-$NAME-*.json
  diff <(cat output/sample-$NAME-*.json) <(cat expect/sample-$NAME-*.json) || echo Unexpected output in sample-$NAME-*.*
done
Ruby スクリプトの実行例
code language-bash
#!/usr/bin/env bash

rm -rf ./output && mkdir output
for NAME in UTF8 CSV TSV TXT XYZ big; do
  ./csv-to-DI-payload.rb sample/sample-$NAME.* \
      --verbose \
      --column 2 \
      --namespace email \
      --dataset-id 66f4161cc19b0f2aef3edf10 \
      --description 'a simple sample' \
      --output-dir output
  echo Checking output/sample-$NAME-*.json against expect/sample-$NAME-*.json
  diff <(cat output/sample-$NAME-*.json) <(cat expect/sample-$NAME-*.json) || echo Unexpected output in sample-$NAME-*.*
done

次の表に bash スクリプトのパラメーターを示します。

パラメーター
説明
verbose
詳細出力を有効にします。
column
削除する ID 値を含む列のインデックス(1 から始まる)またはヘッダー名。 指定しない場合は、デフォルトで最初の列に設定されます。
namespace
スクリプトに渡される ID 名前空間コード (例:email)。 生成された JSON は、各オブジェクトの namespace.code プロパティでこれを使用します。
dataset-id
データセットの一意の ID:単一の ID、マルチデータセットのコンマ区切り ID、すべてのデータセットの ALL
description
レコード削除作業指示の説明。
output-dir
出力 JSON ペイロードを書き込むディレクトリ。

以下の例に、CSV、TSV、TXT ファイルから変換された成功した JSON ペイロードを示します。 指定した名前空間に関連付けられたレコードが含まれており、メールアドレスで識別されたレコードを削除するために使用されます。

{
  "action": "delete_identity",
  "datasetId": "66f4161cc19b0f2aef3edf10",
  "displayName": "output/sample-big-001.json",
  "description": "a simple sample",
  "identities": [
    {
      "namespace": {
        "code": "email"
      },
      "id": "1"
    },
    {
      "namespace": {
        "code": "email"
      },
      "id": "2"
    }
  ]
}

次の表に、JSON ペイロードのプロパティを示します。

プロパティ
説明
action
レコード削除作業指示に対してリクエストされたアクション。 変換スクリプトによって自動的に delete_identity に設定されます。
datasetId
データセットの一意の ID:単一の ID、コンマ区切りの ID または ALL
displayName
このレコード削除作業指示の人間が読み取れるラベル。
description
レコード削除作業指示の説明。
identities

オブジェクトの配列。各オブジェクトには、以下が含まれます。

  • namespace: ID 名前空間を指定する code プロパティを持つオブジェクト(例えば「email」)。
  • id:この名前空間で削除する ID 値。

生成された JSON データを /workorder エンドポイントに送信します。

スクリプト出力には、API がそのまま受け入れる identities 形式を使用します。 -d POST リクエストを curl エンドポイントに送信する際に、変換された JSON ペイロードをリクエスト本文(/workorder)として使用します。 完全なリクエストオプションと検証ルールについては、​ レコード削除作業指示の作成 ​ を参照してください。

特定のレコード削除作業指示の詳細の取得 lookup

/workorder/{WORKORDER_ID} に対してGET リクエストを実行して、特定のレコード削除作業指示の情報を取得します。 応答には、アクションタイプ、ステータス、関連するデータセットおよびユーザー情報、監査メタデータが含まれます。

API 形式

GET /workorder/{WORKORDER_ID}
パラメーター
説明
{WORK_ORDER_ID}
参照しているレコード削除作業指示の一意の ID。

リクエスト

curl -X GET \
  https://platform.adobe.io/data/core/hygiene/workorder/DI-6fa98d52-7bd2-42a5-bf61-fb5c22ec9427 \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}'

応答

応答が成功すると、指定されたレコード削除作業指示の詳細が返されます。

{
  "workorderId": "DI-6fa98d52-7bd2-42a5-bf61-fb5c22ec9427",
  "orgId": "3C7F2AC143214567890ABCDE@AcmeOrg",
  "bundleId": "BN-dbe3ffad-cb0b-401f-91ae-01c189f8e7b2",
  "action": "identity-delete",
  "createdAt": "2037-01-21T08:25:45.119Z",
  "updatedAt": "2037-01-21T08:30:45.233Z",
  "operationCount": 3,
  "targetServices": [
    "ajo",
    "profile",
    "datalake",
    "identity"
  ],
  "status": "received",
  "createdBy": "g.baratheon@acme.com <g.baratheon@acme.com> C189F8E7B2@acme.com",
  "datasetId": "d2f1c8a4b8f747d0ba3521e2",
  "datasetName": "Acme_Marketing_Events",
  "displayName": "Marketing Identity Delete Request",
  "description": "Scheduled identity deletion for marketing compliance"
}

次の表に、応答のプロパティを示します。

プロパティ
説明
workorderId
レコード削除作業指示の一意の ID。
orgId
組織の一意の ID。
bundleId
このレコード削除作業指示を含むバンドルの一意の ID。 バンドルを使用すると、複数の削除指示をダウンストリームサービスでグループ化して処理できます。
action
レコード削除作業指示でリクエストされたアクションタイプ。
createdAt
作業指示が作成されたときのタイムスタンプ。
updatedAt
作業指示が最後に更新されたときのタイムスタンプ。
operationCount
作業指示に含まれる操作の数。
targetServices
このレコード削除作業指示の影響を受けるターゲットサービスのリスト。
status
レコード削除作業指示の現在のステータス。
createdBy
レコード削除作業指示を作成したユーザーのメールアドレスおよび識別子。
datasetId
作業指示に関連付けられたデータセットの一意の ID (単一の ID、コンマ区切りの ID または ALL)。
datasetName
作業指示に関連付けられたデータセットの名前。
displayName
レコード削除作業指示の人間が読み取れるラベル。
description
レコード削除作業指示の説明。

レコード削除作業指示の更新 update

name エンドポイントに対してPUT リクエストを実行して、レコード削除作業指示の description および /workorder/{WORKORDER_ID} を更新します。

API 形式

PUT /workorder/{WORKORDER_ID}

次の表に、このリクエストのパラメーターを示します。

パラメーター
説明
{WORK_ORDER_ID}
更新するレコード削除作業指示の一意の ID。

リクエスト

curl -X PUT \
  https://platform.adobe.io/data/core/hygiene/workorder/DI-893a6b1d-47c2-41e1-b3f1-2d7c2956aabb \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \
  -d '{
        "name": "Updated Marketing Identity Delete Request",
        "description": "Updated deletion request for marketing data"
      }'

次の表に、更新可能なプロパティを示します。

プロパティ
説明
name
レコード削除作業指示の更新された人間が読み取れるラベル。
description
レコード削除作業指示の更新された説明。

応答

応答が成功すると、更新された作業指示リクエストが返されます。

{
  "workorderId": "DI-893a6b1d-47c2-41e1-b3f1-2d7c2956aabb",
  "orgId": "7D4E2AC143214567890ABCDE@AcmeOrg",
  "bundleId": "BN-12abcf45-32ea-45bc-9d1c-8e7b321cabc8",
  "action": "identity-delete",
  "createdAt": "2038-04-15T12:14:29.210Z",
  "updatedAt": "2038-04-15T12:30:29.442Z",
  "operationCount": 2,
  "targetServices": [
    "profile",
    "datalake"
  ],
  "status": "received",
  "createdBy": "b.tarth@acme.com <b.tarth@acme.com> 8E7B321CABC8@acme.com",
  "datasetId": "1a2b3c4d5e6f7890abcdef12",
  "datasetName": "Acme_Marketing_2024",
  "displayName": "Updated Marketing Identity Delete Request",
  "description": "Updated deletion request for marketing data",
  "productStatusDetails": [
        {
            "productName": "Data Management",
            "productStatus": "waiting",
            "createdAt": "2024-06-12T20:11:18.447747Z"
        },
        {
            "productName": "Identity Service",
            "productStatus": "success",
            "createdAt": "2024-06-12T20:36:09.020832Z"
        },
        {
            "productName": "Profile Service",
            "productStatus": "waiting",
            "createdAt": "2024-06-12T20:11:18.447747Z"
        },
        {
            "productName": "Journey Orchestrator",
            "productStatus": "success",
            "createdAt": "2024-06-12T20:12:19.843199Z"
        }
    ]
}
プロパティ
説明
workorderId
レコード削除作業指示の一意の ID。
orgId
組織の一意の ID。
bundleId
このレコード削除作業指示を含むバンドルの一意の ID。 バンドルを使用すると、複数の削除指示をダウンストリームサービスでグループ化して処理できます。
action
レコード削除作業指示でリクエストされたアクションタイプ。
createdAt
作業指示が作成されたときのタイムスタンプ。
updatedAt
作業指示が最後に更新されたときのタイムスタンプ。
operationCount
作業指示に含まれる操作の数。
targetServices
このレコード削除作業指示の影響を受けるターゲットサービスのリスト。
status
レコード削除作業指示の現在のステータス。 使用可能な値:receivedvalidatedsubmittedingestedcompletedfailed
createdBy
レコード削除作業指示を作成したユーザーのメールアドレスおよび識別子。
datasetId
レコード削除作業指示に関連付けられたデータセットの一意の ID (単一の ID、コンマ区切りの ID または ALL)。
datasetName
レコードの削除作業指示に関連付けられたデータセットの名前。
displayName
レコード削除作業指示の人間が読み取れるラベル。
description
レコード削除作業指示の説明。
productStatusDetails

リクエストのダウンストリームプロセスの現在のステータスをリストする配列。 各オブジェクトには、以下が含まれます。

  • productName:ダウンストリームサービスの名前。
  • productStatus:ダウンストリームサービスの現在の処理ステータス。
  • createdAt:最新のステータスがサービスからポストされたときのタイムスタンプ。

このプロパティは、作業指示がダウンストリームサービスに送信されて処理を開始した後に使用できます。

recommendation-more-help
332f81c1-51e7-4bde-8327-2eb07f09604f