---
title: "ポリシーキー"
slug: "policy-keys"
abstract: "ポリシーキーとその使用方法を説明します。"
---
# ポリシーキー

Commerce Engineは、フラグを値として持つPolicyKeysプロパティを実装しています。ポリシーキーを使って、Commerce Engineへのリクエスト実行中にどのパイプラインブロックをスキップするかを指定するフラグを設定します。

パイプラインブロック内で、PolicyTriggerConditionalPipelineBlockブロック(またはAsyncPolicyTriggerConditionalPipelineBlockブロック)の言及は、そのパイプラインブロックが条件付きであることを示します。条件付きパイプラインブロックの実行を、"ShouldNotRunPolicyTrigger" プロパティ値によって定義されたポリシーキーを文字列として含めることで、実行をオーバーライドできます。

ポリシーキーを明示的に使い、[その値をヘッダーで渡すことができます](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/policy-keys.html#UUID-73acd14f-4510-dc88-1756-99f22b832e94_section-idm231820679363192 "Passing policy keys in headers")。以下のコードサンプルでは、IndexUpdatedSitecoreItemBlockクラスがIgnoreIndexUpdatedSitecoreItemポリシーキーを実装しています。 ImportCatalogsリクエストの実行中、IgnoreIndexUpdatedSitecoreItem文字列がヘッダーで渡されると、パイプライン実行時にIndexUpdatedSitecoreItemBlockブロックはスキップされます。

public class IndexUpdatedSitecoreItemBlock : PolicyTriggerConditionalPipelineBlock<PersistEntityArgument, PersistEntityArgument>
{
 public override string ShouldNotRunPolicyTrigger => "IgnoreIndexUpdatedSitecoreItem";

Commerce Engineはまた、ポリシーキーを暗黙的に利用しており、エンジン内でハードコーディングされたポリシーキーでパイプラインブロックをスキップできます。例えば、**GetCart**リクエストの実行時に、Commerce Engineはパフォーマンスを最大化するために、操作に不要なパイプラインブロックをスキップするための "IgnorePromotions" ポリシーキーを追加します。

## ヘッダー内でポリシーキーの渡し

PolicyKeysプロパティは一部の[APIリクエストヘッダー](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/service-api-headers.html "Service API headers")に含めることができます(この[例でPostmanサンプルを用いて](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/walkthrough--importing-catalog-data.html#UUID-768862ae-4b5c-71ed-b959-6f254e66a318_section-idm45729030304896 "Import a Commerce catalog (for deployments not using containers)")示すように)。また、Commerceのコンテキストの一部としてコード内でポリシーキーヘッダーを渡すことも可能です([この例に](https://doc.sitecore.com/xp/ja/developers/101/sitecore-experience-commerce/optimizing-custom-catalog-import-operations.html#UUID-e2f706af-f95b-bc55-48d3-625ec4521095_section-idm46212280987840 "How to pass policy keys programmatically")示されています)。

## ヘッダーポリシーキー

以下の表は、Commerce Engineで定義されたヘッダーポリシーキーを一覧にしています。

方針の鍵

使用例

キャッシングを無視する

ほとんどのカタログ操作やAPIに対して、カタログアイテムキャッシュを回避するためのフラグを設定します。

IgnoreAvailable(利用可能性を無視)

IGetSellableItemPipelineパイプラインが呼び出された際に販売可能なアイテムの在庫が返されないようにフラグを設定します。

価格設定を無視する

IGetSellableItemPipelineパイプラインが呼び出された際に販売可能なアイテムの価格が返されないようにフラグを設定します。

IgnoreIndexUpdatedSitecoreItem

Sitecore検索インデックスのカタログエンティティの増分更新プロセス中に実行される IndexUpdatedSitecoreItemBlock ブロックをスキップするフラグを設定します。  
  
合格者:  
  

-   ImportCatalogs リクエスト(公開の有無にかかわらず)。
-   ImportLocalCatalogs リクエスト。

IgnoreAddEntityToIndexList

Sitecore検索インデックスのカタログエンティティの増分更新プロセス中に実行される AddEntityToIndexListBlock ブロックをスキップするフラグを設定します。  
  
合格者:  
  

-   ImportCatalogs リクエスト(公開の有無にかかわらず)。
-   ImportLocalCatalogs リクエスト。

LocalizeEntityを無視する

Sitecore検索インデックスのカタログエンティティの増分更新プロセス中に実行される LocalizeEntityBlock ブロックをスキップするフラグを設定します。  
  
合格者:  
  

-   ImportCatalogs リクエスト(公開の有無にかかわらず)。
-   ImportLocalCatalogs リクエスト。

IgnoreIndexDeletedSitecoreItem

Sitecore検索インデックスのカタログエンティティの増分更新プロセス中に実行された IndexUpdatedSitecoreItemBlock ブロックを無視するフラグを設定します。  
  
合格者:  
  

-   ImportCatalogs リクエスト(公開の有無にかかわらず)。
-   ImportLocalCatalogs リクエスト。

DoNotCalculatecart

カートを再計算してはいけないことを示します。  
  
合格者:  
  

-   GetCartCommand リクエスト。

昇進を無視する

販売可能な商品に関連するプロモーションがカートに追加されるまで返されないようにフラグを設定します。パフォーマンスを向上させるために、このフラグをtrueに設定してください。  
  
合格者:  
  

-   GetSellableItemSummary
-   GetSellableItem
-   GetBulkPrice

IgnoreSampleData

環境初期化中、は与えられた環境のサンプルデータの読み込みを防ぎます。  
  
合格者:  
  

-   InitializeEnvironment() パラメータが "sampleData=True"の場合。

IgnoreVersioningEntity

エンティティのバージョン管理を無視するフラグを設定します。主にバルクカタログアイテムのインポートプロセスで内部的に使われます。

ゼロミニオンディレイ

フラグを設定し、命令処理ミニオンを即座に実行して命令をコミットし、あらかじめ定められた間隔で実行するのを待つ必要はありません。  
  
合格者:  
  

-   CreateOrderリクエスト

ミニオン・フォールト

ミニオンのテストやトラブルシューティング時にエラーを聞くためのフラグを設定します。  
  
合格者:  
  

-   Run PendingOrder MinionPostmanでリクエスト。