---
title: "エンティティアーカイブ"
slug: "entity-archiving"
abstract: "Commerce Engineが適格なCommerceエンティティをアーカイブデータベースに移動させるアーカイブ機能の概要。"
---
# エンティティアーカイブ

エンティティアーカイブにより、Commerce Engineは共有環境データベースに保存されている適格で非アクティブなCommerce entityをアーカイブデータベースに移すことができます。不要なエンティティをShared Environmentsデータベースから剪定することで、データベースが管理不能なサイズに拡大するのを防ぎ、Commerce運用がリクエスト処理時に処理しなければならないエンティティの数を実質的に減らします。

エンティティアーカイブはアーカイブエンティティミニ [オン](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/predefined-commerce-engine-minions.html#UUID-e90ccfe0-6f43-9708-1b84-1ff566badcdf_section-idm232042048129275 "Archive entities minion")によって行われます。アーカイブする各エンティティタイプは、Plugin.Minions.PolicySet-1.0.0.jsonファイル内で定義された独自のアーカイブミニオンを必要とします。アーカイブエンティティミニオンはスケジュールされたプロセスとして動作し、SitecoreCommerce\_SharedEnvironmentsデータベースからSitecoreCommerce\_ArchiveSharedEnvironmentsデータベースへ対象となる非アクティブエンティティを移動させます。

> !注エンティティアーカイブはすべてのCommerceエンティティタイプでデフォルトで無効化されています。wwwroot/data/Environments/PlugIn.<Environment>.CommerceMinions-1.\*.\*.jsonファイルにある適切な[エンティティアーカイブポリシー](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/entity-archiving.html#UUID-b9c6c73a-ec1f-9e10-9714-efb3185dc3ac_section-idm232043277625368 "Entity archiving policies")を更新することで、各Commerceエンティティタイプごとに個別にエンティティアーカイブを有効にすることができます。

Commerce Engineは、ポリシーで定められた適格基準に基づく以下の事業体のアーカイブをサポートしています:

-   完了またはキャンセルされた注文、関連する販売活動やインデックス。
    
    > !注アーカイブされた注文はBusiness Toolsユーザーには表示されず、検索でも出てこない。
    
-   日記のエントリーを注文してください。
    

> !重要非常に大量のデータをアーカイブすることはSQLサービスのパフォーマンスに影響を与えることがあります。エンティティアーカイブを有効にする前に、ミニオン設定のアーカイブに関する [これらの推奨事項とベストプラクティス](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/predefined-commerce-engine-minions.html#UUID-e90ccfe0-6f43-9708-1b84-1ff566badcdf_section-idm232159373591707 "Recommendations for archiving minions configuration") を検討してください。

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

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

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

ArchiveEntityPolicyは、特定のタイプのアーカイブ事業体の適格基準を定義するプロパティを含む一般的なポリシーです。

以下は、ジャーナルエントリーのアーカイブに定義されたデフォルトのArchiveEntityPolicyポリシーの例です。

{ $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"

バッチごとに処理できる最大エンティティ数。  
  
デフォルトでは、バッチごとの最大数は500です。

### アーカイブの順序ポリシー

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

> !注非アクティブ命令がアーカイブされると、対象となる命令に関連するすべてのEntityIndexeおよびSalesActivityエンティティもアーカイブデータベースに移されます。

以下はサンプルPlugIn.Habitat.CommerceMinions-1.\*.\*.jsonファイルで定義されたデフォルトのSitecore.Commerce.Plugin.Archive.ArchiveOrderPolicyポリシーの例です。

{  "$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"

バッチごとに処理できる最大エンティティ数。