フォールトインジェクション
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
フォールト挿入は、複雑な分散ソリューションで障害をテストするために、サービスを意図的に失敗させる機能を提供します。Sitecore XCには1つのフォールト挿入パターンがあり、Commerceエンティティの永続性における同時実行エラーをカバーします。
Sitecore.Commerce.Plugin.FaultInjectionプラグインは、Sitecore.Commerce.Engine.SDKパッケージで提供されるサンプルのCommerce Engineプロジェクトに含まれています。
サンプルのCommerce Engineプロジェクトに含まれているSitecore.Commerce.Plugin.FaultInjectionプラグインは、開発環境またはテスト環境でのみ使用することを目的としています。 Sitecore.Commerce.Engine.SDKでは、Commerce Engineプロジェクトへのパスは次のとおりです。 Sitecore.Commerce.Engine.SDK.*.*.**\src\Sitecore.Commerce.Engine\Sitecore.Commerce.Engine.csproj.
サンプルSitecore.Commerce.Plugin.FaultInjectionプラグインをカスタムソリューションから削除してから、本番環境にデプロイする必要があります。
定義された同時実行エラーを挿入するには:
-
Sitecore.Commerce.EngineプロジェクトにSitecore.Commerce.Plugin.FaultInjectionへの参照が含まれていることを確認します。
-
APIリクエストに、FaultInjectionという名前のヘッダーを追加します。
-
前の手順で追加したヘッダーに値ConcurrencyFaultを割り当てます。
-
Commerceエンティティを保持する任意のAPIメソッドを呼び出します。
この時点で、コンカレンシー フォールトが発生します。
次に、フォールト挿入ヘッダーを挿入したPostmanを使用してAddCartLineを呼び出した場合のサンプル結果を示します。
ヘッダーの未加工ビュー:
Content-Type:application/json
ShopName:{{ShopName}}
ShopperId:{{ShopperId}}
Language:{{Language}}
Currency:{{Currency}}
Environment:{{Environment}}
IpAddress:{{IpAddress}}
CustomerId:{{CustomerId}}
Roles:{{Roles}}
FaultInjection:ConcurencyFault
Postmanでは、応答本文には次のように表示されます。