ポリシーキー
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Commerce Engineは、フラグを値として持つPolicyKeysプロパティを実装しています。ポリシーキーを使って、Commerce Engineへのリクエスト実行中にどのパイプラインブロックをスキップするかを指定するフラグを設定します。
パイプラインブロック内で、PolicyTriggerConditionalPipelineBlockブロック(またはAsyncPolicyTriggerConditionalPipelineBlockブロック)の言及は、そのパイプラインブロックが条件付きであることを示します。条件付きパイプラインブロックの実行を、"ShouldNotRunPolicyTrigger" プロパティ値によって定義されたポリシーキーを文字列として含めることで、実行をオーバーライドできます。
ポリシーキーを明示的に使い、その値をヘッダーで渡すことができます。以下のコードサンプルでは、IndexUpdatedSitecoreItemBlockクラスがIgnoreIndexUpdatedSitecoreItemポリシーキーを実装しています。 ImportCatalogsリクエストの実行中、IgnoreIndexUpdatedSitecoreItem文字列がヘッダーで渡されると、パイプライン実行時にIndexUpdatedSitecoreItemBlockブロックはスキップされます。
public class IndexUpdatedSitecoreItemBlock : PolicyTriggerConditionalPipelineBlock<PersistEntityArgument, PersistEntityArgument> { public override string ShouldNotRunPolicyTrigger => "IgnoreIndexUpdatedSitecoreItem";
Commerce Engineはまた、ポリシーキーを暗黙的に利用しており、エンジン内でハードコーディングされたポリシーキーでパイプラインブロックをスキップできます。例えば、GetCartリクエストの実行時に、Commerce Engineはパフォーマンスを最大化するために、操作に不要なパイプラインブロックをスキップするための "IgnorePromotions" ポリシーキーを追加します。
ヘッダー内でポリシーキーの渡し
PolicyKeysプロパティは一部のAPIリクエストヘッダーに含めることができます(この例でPostmanサンプルを用いて示すように)。また、Commerceのコンテキストの一部としてコード内でポリシーキーヘッダーを渡すことも可能です(この例に示されています)。
ヘッダーポリシーキー
以下の表は、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でリクエスト。