エンティティのアーカイブ

Current version: 10.1

エンティティのアーカイブを使用すると、Shared Environments database に保存されている適格かつ非アクティブな Commerce エンティティをアーカイブ データベースに移動できます。Shared Environments database から不要なエンティティを除去することで、データベースの肥大化を防ぎ、要求の処理時に反復処理するエンティティの数を効果的に減らすことができます。

エンティティのアーカイブはエンティティ アーカイブ ミニオンによって行われます。アーカイブするエンティティ タイプごとに固有のアーカイブ ミニオンを Plugin.Minions.PolicySet-1.0.0.json ファイルで定義する必要があります。エンティティ アーカイブ ミニオンはスケジュールされたプロセスとして実行され、適格な非アクティブ エンティティを SitecoreCommerce_SharedEnvironments データベースから SitecoreCommerce_ArchiveSharedEnvironments データベースに移動します。

注記

エンティティのアーカイブは、すべての Commerce エンティティ タイプについてデフォルトで無効になっています。エンティティのアーカイブは、環境単位で Commerce エンティティ タイプごとに有効にすることができます。そのためには、wwwroot/data/Environments/PlugIn.<Environment>.CommerceMinions-1.*.*.json ファイル内の適切なエンティティ アーカイブ ポリシーを更新します。

Commerce Engine は、ポリシーで定義された適格性基準に基づいて、以下のエンティティのアーカイブをサポートします。

  • 完了した注文またはキャンセルされた注文と、それらに関連する営業活動およびインデックス。

    注記

    アーカイブされた注文は、Business Tools ユーザーが見ることはできず、検索結果にも表示されません。

  • 注文ジャーナル エントリ。

重要

大量のデータをアーカイブすると、SQL サービスのパフォーマンスに影響を与える可能性があります。エンティティのアーカイブを有効にする前に、アーカイブ ミニオンの設定に関するこれらの推奨事項とベスト プラクティスを考慮してください。

エンティティ アーカイブ ポリシー

エンティティ アーカイブ ポリシーでは、エンティティがアーカイブ対象かどうかを決定する基準を定義し、ある特定のエンティティ タイプに対してエンティティのアーカイブを有効または無効に設定します。エンティティ アーカイブ ポリシーは、ミニオン サービスの環境ポリシー セット JSON ファイル (例: wwwroot/data/Environments/PlugIn.Habitat.CommerceMinions-1.*.*.json) で設定できます。

ArchiveEntityPolicy

ArchiveEntityPolicy は、特定のタイプのエンティティをアーカイブするための適格性基準を定義するプロパティを含む汎用的なポリシーです。

以下に、ジャーナル エントリのアーカイブについて定義したデフォルトの ArchiveEntityPolicy ポリシーの例を示します。

RequestResponse
{  $type": "Sitecore.Commerce.Plugin.Archive.ArchiveEntityPolicy, Sitecore.Commerce.Plugin.Archive",
"TypeFullName": "Sitecore.Commerce.Plugin.Journaling.JournalEntry, Sitecore.Commerce.Plugin.Journaling",
"IsEnabled": false,
"EntityThreshold": 60,
"BatchCount": 500

"Sitecore.Commerce.Plugin.Archive.ArchiveEntityPolicy" のプロパティは次のとおりです。

プロパティ

説明

"TypeFullName"

Commerce エンティティ タイプの完全な名前。

"IsEnabled"

このエンティティ タイプのアーカイブが有効になっているかどうか。

デフォルトでは、エンティティのアーカイブは無効になっています ("IsEnabled": false)。

"EntityThreshold"

エンティティが最後に更新された日 (DateUpdated) からの日数。この日数が経過したエンティティがアーカイブの対象になります。

デフォルトでは、エンティティは 60 日後にアーカイブ対象になります。

"BatchCount"

1 回のバッチで処理するエンティティの最大数。

デフォルトでは、バッチあたりのエンティティの最大数は 500 です。

注文アーカイブ ポリシー

指定したステータスに一致する非アクティブな注文は、アーカイブの対象になると自動的にアーカイブされます。アーカイブ注文ポリシーは、特に非アクティブな注文エンティティをアーカイブするための適格性基準を定義するために使用されます。

注記

非アクティブな注文がアーカイブされると、その注文に関連するすべての EntityIndexe エンティティと SalesActivity エンティティもアーカイブ データベースに移動されます。

以下に、サンプルの PlugIn.Habitat.CommerceMinions-1.*.*.json ファイルで定義されているデフォルトの Sitecore.Commerce.Plugin.Archive.ArchiveOrderPolicy ポリシーの例を示します。

RequestResponse
{  "$type": "Sitecore.Commerce.Plugin.Archive.ArchiveOrderPolicy, Sitecore.Commerce.Plugin.Archive",  "TypeFullName": "Sitecore.Commerce.Plugin.Orders.Order, Sitecore.Commerce.Plugin.Orders",
 "OrderStatusList": [ "Completed""Cancelled" ],
 "EntityThreshold": 60,
 "IsEnabled": false,
 "BatchCount": 500
},

Sitecore.Commerce.Plugin.Archive.ArchiveOrderPolicy のプロパティは次のとおりです。

プロパティ

説明

"OrderStatusList"

アーカイブ ミニオンが監視するリスト。リストの各項目は、アーカイブ可能な注文のステータスに対応します。

デフォルトでは、「完了」または「キャンセル」ステータスの注文がアーカイブの対象になります。

警告

OrderStatusList リストにステータスを追加する際は、最終状態にない注文 (たとえば、保留中の注文) をアーカイブすることの影響を考慮する必要があります。

"IsEnabled"

このエンティティ タイプのアーカイブが有効になっているかどうか。

デフォルトでは、エンティティのアーカイブは無効になっています ("IsEnabled": false)。

"EntityThreshold"

注文が適格なステータス (「完了」や「キャンセル」など) にある日数。この日数が経過した注文がアーカイブの対象になります。

デフォルトでは、注文は 60 日後にアーカイブされます。

"BatchCount"

1 回のバッチで処理するエンティティの最大数。

Do you have some feedback for us?

If you have suggestions for improving this article,