ウォークスルー
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
このウォークスルーでは、カタログデータを含むZIPファイル(以前Sitecore XC環境からエクスポートされたもの)を別のSitecore XC環境にインポートする方法を説明しています。インポート操作の期待されるデータ構造の詳細については、「 Walkthrough: Exporting catalog and inventory data 」トピックをご覧ください。
!注Sitecore XC現在、完全なカタログインポートのみをサポートしています。
標準的な運用中、Commerce Engine Searchサービスはインクリメンタルインデックスミニオンを自動プロセスとして使用し、定期的に新しいカタログ項目をインデックスリストに追加します。この自動化プロセスにより、新しいカタログ項目の発見可能性が保証されます。カタログインポート時のパフォーマンス最適化のために、カタログアプリケーションプログラミングインターフェース(API)は ポリシーキー を使用して、カタログデータインポート時のインクリメンタルインデックスを防止します。これにより、カタログデータのインポートにかかる総時間を短縮できます。
カタログデータを取り込んだ後、必要に応じて関連する在庫データセットのインポートを進めることができます。最後に、Commerce EngineレベルとSitecoreプラットフォームレベルでカタログインデックスを手動で再構築する必要があります。
カタログデータや在庫セット(必要に応じて)をインポートし、インデックスを再構築するには、以下の手順を実行します。
- 大規模なカタログデータセットのインポートのための最適化設定
- コンテナを使わない展開用にCommerceカタログをインポートする
- engine_authoringコンテナ内のカタログデータをインポートする
- 製品在庫データのインポート(コンテナを使わない展開用)
- engine_authoringコンテナに商品在庫データをインポートする
- インデックスコマースエンジンのカタログ項目
大規模なカタログデータセットのインポートのための最適化設定
カタログのサイズやカタログ内のデータ構造の複雑さによっては、カタログデータのインポートに時間がかかったり、場合によっては失敗することもあります。大規模で複雑なデータセットのインポートを始める前に、以下の設定変更を行うべきです:
- インターネット情報サービス(IIS)関連設定の変更
- ワークフローエンティティキャッシュポリシーの設定を変更してください
- SQLのタイムアウト設定を変更する
- Bootstrapコマースエンジン
- Sitecoreの閾値を上げてください。診断。メモリモニターフック
インターネット情報サービス(IIS)関連設定の変更
カタログデータのインポートを開始する前に、インターネット情報サービス(IIS)の設定(IISマネージャーおよびweb.configファイル)を変更し、データエクスポートプロセス中のタイムアウトのリスクを減らす必要があります。これは非常に大規模なカタログデータセットをエクスポートする際に重要です。
カタログデータのインポートに使われるサービスを再構成するには:
-
インターネット情報サービス(IIS)マネージャーを起動し、ナビゲーションツリーで **「アプリケーションプール」**をクリックします。
-
アプリケーションプールのページで、該当するアプリケーションプールの名前(例:CommerceAuthoring_Sc)をクリックしてください。
-
アクションペインの**「アプリケーションプール編集**」セクションで「詳細設定」をクリックし、詳細設定ダイアログボックスで以下の値を0に設定します:
セクション
パラメータ
価値
CPU
リミット間隔(分)
0
プロセスモデル
アイドルタイムアウト(分)
0
リサイクル
規則時間間隔(分)
0
-
OKをクリックします。
-
カタログデータをインポートするサービスのweb.configファイル(例: C:\inetpub\wwwroot\CommerceAuthoring_Sc\web.config)を開き、以下の設定サンプルで太字で示された設定を変更してください。
!注IISの設定を変更する前に、カタログのインポート終了後に元の値を把握しておくと、元の値を把握してください。
-
インターネット情報サービスをリセットしろ。
ワークフローエンティティキャッシュポリシーの設定を変更してください
カタログインポート操作の最適なパフォーマンスを得るために、ワークフローエンティティ("EntityFullName": "Sitecore.Commerce.Plugin.Workflow.Workflow")のキャッシュ構成を変更してください。
ワークフローエンティティのキャッシュポリシーを変更するには:
-
カタログデータをインポートするために使うAuthoringサービスのインスタンスで、例えばメモリキャッシュポリシーセットファイルを開いてください。 C:\inetpub\wwwroot\CommerceAuthoring_Sc\wwwroot\data\Environments\Plugin.Caching.PolicySet-1.0.0.json)。
-
Sitecore.Commerce.Plugin.Workflow.WorkflowエンティティセクションのパラメータAllowCachingが以下の例のようにtrueに設定されていることを確認しましょう。
{ "$type": "Sitecore.Commerce.Core.EntityCachingPolicy, Sitecore.Commerce.Core", "EntityFullName": "Sitecore.Commerce.Plugin.Workflow.Workflow", "AllowCaching": true, "Priority": "Normal", "Expiration": 86400000, "HasNegativeCaching": false, "CacheName": "Workflows", "EntityIdPrefix": "Entity-Workflow" },
!注オプションとして、カタログデータのインポート時に情報収集のためのログ記録を有効にすることもできます。カタログデータをインポートするために使用するCommerce Engineサービスのconfig.jsonファイル(例:C:\inetpub\wwwroot\CommerceAuthoring_Sc\wwwroot\config.json)を開き、"Default"、"Microsoft"、"System"ログのログレベル値を"Information"に設定します。
"Serilog": {"Using": "Serilog.Sinks.Literate","Serilog.Sinks.File","Serilog.Sinks.ApplicationInsights","MinimumLevel": {"Default": "Information", "Override": {"Microsoft": "Information","System": "Information"}},
SQLのタイムアウト設定を変更する
SQLのタイムアウト設定を変更し、SQLデータベースへの接続が開いたままにし、長時間のプロセスが完了しないようにしましょう。
SQLのタイムアウト設定を変更するには:
-
カタログデータをインポートするために使用するオーサリングサービスのインスタンスで、Plugin.SQL.PolicySet-1.0.0.jsonファイルを開きます(例: C:\inetpub\wwwroot\CommerceAuthoring_Sc\wwwroot\data\Environments\Plugin.SQL.PolicySet-1.0.0.json
-
"ConnectTimeout"とプロパティの値を"CommandTimeout" "0"に設定します。
!注現在の不動産価値を記録し、カタログのインポートを終えた後に元の価値に戻すようにしましょう。
Bootstrapコマースエンジン
Commerce Engineの設定をすべて変更した後、Commerce Engineをブートストラップしてください。
Sitecoreの閾値を上げてください。診断。メモリモニターフック
大規模なカタログをインポートする際は、インポート操作が正常に完了できるよう十分なメモリを確保するために、Sitecore.Diagnostics.MemoryMonitorHookフックの閾値を増やすべきです。
Sitecore.Diagnostics.MemoryMonitorHookしきい値を変更するには:
-
wwwroot\
\App_Config\Sitecore.configファイルを開け。 -
"Sitecore.Diagnostics.MemoryMonitorHook, Sitecore.Kernel"セクションでは、"Threshold"値を増やします。以下の例はデフォルトのフック構成の例を示しています:
2GB \`00:00\`:05 \`00:01\`:00 false false false
コンテナを使わない展開用にCommerceカタログをインポートする
!注もしCommerceのデプロイメントでコンテナを使用している場合は、この手順の指示に従ってください。
このタスクは、カタログデータを含むZIPファイル(以前にSitecore XC環境からエクスポートされたもの)を別のSitecore XC環境にインポートする方法を説明しています。この手順は、Sitecore Commerce Engine Software Development Kit(SDK)に付属したPostmanサンプルに基づいています。
!注ZIPファイルが1GBを超える場合は、そのファイルをローカルマシン(例えばCommerce Engineサービスのwwwroot\data\Catalogsフォルダ)にコピーし、PostmanのImport Local Catalogsリクエストを以下のように使用してください。
以下の手順は、Postmanアプリケーションのインストールとセットアップ、サンプルコレクション(Sitecore Commerce Engine SDKから)をPostmanにインポートし、環境を設定し、Commerce Engine APIにアクセスするためのベアラートークンを取得したことを前提としています。
カタログ製品データをインポートするには:
-
Postmanを開き、コレクションのペインでCatalogAPISamplesコレクションを展開します。
-
Catalog - APIフォルダを開きます。
-
ZIPファイルが1GB未満の場合は、Import Catalogs (with publishing) リクエストをクリックしてください。
!注 パブリッシングでインポートすると、パブリッシングのワークフローをバイパスできます。その結果、販売可能なアイテムはインポートされ、コンテンツ配信サーバーに公開するために、ドラ フトや 承認待ちなどの様々な状態から移行する必要はありません。
( Postmanサンプルには、公開 せずに カタログをインポートするリクエストも含まれています。この場合、インポートされた販売可能なアイテムはドラフト状態にあり、出版ワークフローを経る必要があります。)
-
ZIPファイルが1GBを超える場合は、Import Local Catalogsリクエストをクリックしてください。
-
-
環境フィールドで、データをインポートする必要がある商取引環境(例えばHabitatAuthoring環境)を指定します。
-
ヘッダー タブをクリックし 、HTTPリクエストで以下のヘッダーキーと値を指定します。
- キー: PolicyKeys
- 価値|IgnoreAddEntityToIndexList|IgnoreIndexUpdatedSitecoreItem|IgnoreLocalizeEntity
-
Bodyタブでインポートしたいファイルを指定してください。
- Import Catalogs (with publishing)リクエストを実行する場合は、importFileキーの「ファイル選択」をクリックし、インポートするカタログデータを含むZIPファイルをクリックしてください。
- Import Local Catalogsリクエストを実行する場合は、"importFilePath"パラメータにインポートするカタログデータを含むローカルZIPファイル名を入力してください。
以下の表は、カタログデータインポートで設定できるパラメータを示しています:
パラメータ
価値
概要
"mode"
"replace"
既存のカタログをすべて削除し、新しいカタログファイルを追加してインポートします。
注意
置き換えモードがデフォルト値です。このモードは既存のカタログデータ(新しいカタログの名前が異なっても)をすべて削除します。既存のカタログデータを保持したい場合は、 追加 モードを使いましょう。
"add"
新しいカタログデータファイルを追加し、既存のカタログはすべて保持します。
> [!注]
> 既存のカタログがインポートするカタログファイルと同じ名前の場合、既存のカタログの内容は新しいカタログファイルの内容に置き換えられます。"batchSize"
900
バッチで処理するアイテムの数。
>[!重要]
> SQLタイムアウトエラーが発生した場合は、バッチサイズを小さく減らします。"errorThreshold"
"10"
インポート操作中に許容される最大エラー数を示します。この閾値に達するとインポート操作は失敗します。デフォルト値は10です。
-
カタログインポート操作を開始するには、Sendをクリックしてください。
DevOps APIを使って、長期間実行されているインポートコマンドのステータスを確認できます。
!注インポート操作中に情報を収集するようにログリングを設定している場合、ログレベルを元の値に戻してください(例: "Information"から"Warning"まで)。
-
インポート操作の状態を確認するには、返された応答コードを確認してください:
- ResponseCodeが値をFailed返すと、インポート操作中に遭遇するエラー数は設定されたエラー閾値を超えます。
- ResponseCodeが値をCompletedWithErrors返すと、インポート操作中に遭遇するエラー数は設定済みのエラー閾値内となります。
- ResponseCodeが値を返すと、誤りなく操作が完了しますSucceeded。
-
この手順を、Sitecore Commerceのデプロイメントにインポートしたい追加のカタログ .zipファイルごとに繰り返します。
注意すべてのカタログのインポートが完了し(関連するインベントリデータがインポートできない状態)後、IISマネージャーとweb.configファイルで以前変更 した設定を元の数値に戻す必要があります。
-
カタログをSitecoreの導入環境にインポートした後、Sitecoreコンテンツエディターでカタログをストア フロントサイトに関連付けるよう設定します。
engine_authoringコンテナ内のカタログデータをインポートする
!注この手順はコンテナを用いたCommerce展開にのみ適用されます。もしあなたのデプロイでコンテナ を使わない場合は 、この手順 の指示に従ってください。
このタスクは、カタログデータ(以前にSitecore XC環境からエクスポートされたもの)を含むZIPファイルをengine_authoringコンテナにインポートする方法を説明しています。この手順は、Sitecore Commerce Engine Software Development Kit(SDK)に付属したPostmanサンプルのImport Local Catalogs APIリクエストに基づいています。
以下の手順は、Postmanアプリケーションのインストールとセットアップ、サンプルコレクション(Sitecore Commerce Engine SDKから)をPostmanにインポートし、環境を設定し、Commerce Engine APIにアクセスするためのベアラートークンを取得したことを前提としています。
カタログ商品データをengine_authoringコンテナにインポートするには:
-
インポート用のカタログZIPファイルを次のフォルダに入れてください: C:\engine\catalogs\ 。
-
コレクションのパネルでCatalogAPISamplesコレクションを展開します。
-
カタログ - APIフォルダを開き、Import Local Catalogsリクエストをクリックします。
-
環境フィールドで、データをインポートする必要がある商取引環境(例えばHabitatAuthoring環境)を指定します。
-
ヘッダー タブをクリックし 、HTTPリクエストで以下のヘッダーキーと値を指定します。
- キー: PolicyKeys
- 価値|IgnoredEntityToIndexList|IgnoreIndexUpdatedSitecoreItem|IgnoreLocalizeEntity
-
Bodyタブで、カタログデータインポートのパラメータ値を指定します:
以下の表は、カタログデータインポートで設定できるパラメータを示しています:
パラメータ
価値
概要
"importFilePath":
なし
インポートするファイルへの相対パス: "..\catalogs\
" "mode":
"replace"
既存のカタログをすべて削除し、新しいカタログファイルを追加してインポートします。
注意
置き換えモードがデフォルト値です。このモードは既存のカタログデータ(新しいカタログの名前が異なっても)をすべて削除します。既存のカタログデータを保持したい場合は、 追加 モードを使いましょう。
"add"
新しいカタログデータファイルを追加し、既存のカタログはすべて保持します。
> [!注]
> 既存のカタログがインポートするカタログファイルと同じ名前の場合、既存のカタログの内容は新しいカタログファイルの内容に置き換えられます。"batchSize":
"900"
バッチで処理する品目の数。
>[!重要]
> SQLタイムアウトエラーが発生した場合は、バッチサイズを小さく減らします。"errorThreshold":
"10"
インポート操作中に許容される最大エラー数を示します。この閾値に達するとインポート操作は失敗します。
"publish":
false
販売可能な品目をドラフト状態か公開ステータスのどちらでインポートするかを指定します。
false(デフォルト)に設定されている場合、販売可能なアイテムはドラフトステータスでインポートされ、承認ワークフローを経てからコンテンツ配信サーバーに公開されます。
trueに設定されている場合、販売可能なアイテムは公開ステータスでインポートされ、承認ワークフローを経ずにコンテンツ配信サーバーに公開されます。
-
カタログインポート操作を開始するには、Sendをクリックしてください。
DevOps APIを使って、長期間実行されているインポートコマンドのステータスを確認できます。
!注インポート操作中に情報を収集するようにログリングを設定している場合、ログレベルを元の値に戻してください(例: "Information"から"Warning"まで)。
-
インポート操作の状態を確認するには、返された応答コードを確認してください:
- ResponseCodeが値をFailed返すと、操作中に遭遇するエラーの数は設定されたエラー閾値を超えます。
- ResponseCodeが値をCompletedWithErrors返すと、操作中に遭遇するエラーの数は設定されたエラー閾値内です。
- ResponseCodeが値を返すと、誤りなく操作が完了しますSucceeded。
-
この手順を、Sitecore Commerceの導入にインポートしたい追加のカタログ .zipファイルごとに繰り返してください。
注意すべてのカタログのインポートが完了し(関連するインベントリデータがインポートできない状態)後、IISマネージャーとweb.configファイルで以前変更 した設定を元の数値に戻す必要があります。
-
カタログをSitecoreの導入環境にインポートした後、Sitecoreコンテンツエディターでカタログをストア フロントサイトに関連付けるよう設定します。
製品在庫データのインポート(コンテナを使わない展開用)
!注もしCommerceのデプロイメントでコンテナを使用している場合は、この手順 の指示に従ってください。
カタログデータファイルの導入が完了したら、関連する在庫データをインポートできます。
!注ZIPファイルが1GBを超える場合は、そのファイルをローカルマシン(例えばCommerce Engineサービスのwwwroot\data\Catalogsフォルダ)にコピーし、以下の手順に従ってImport Local Catalogsリクエストを適用してください。
以下の手順は、Postmanアプリケーションのインストールとセットアップ、Sitecore Commerce Engineソフトウェア開発キット(SDK)からサンプルコレクションを取り込み、環境を設定し、Commerce Engine APIにアクセスするためのベアラートークンを取得したことを前提としています。
カタログ在庫データのインポート:
-
Sitecore Identityトークンが期限切れの場合は、新しいトークンを取得するために別のGetTokenリクエストを実行してください。
-
コレクションのパネルでInventoryAPISamplesコレクションを展開します。
-
Inventory - APIフォルダを開きます。
- ZIPファイルが1GB未満の場合は、 Import Inventory Sets リクエストをクリックしてください。
- ZIPファイルが1GBを超える場合は、 Import Local Inventory Sets リクエストをクリックしてください。
-
環境フィールドで、データをインポートする必要がある商取引環境(例えばHabitatAuthoring環境)を指定します。
-
Bodyタブでインポートしたいファイルを指定してください。
- Import Inventory Setsリクエストを実行する場合は、importFileキーの「ファイル選択」をクリックし、インポートする在庫データを含むZIPファイルをクリックしてブラウズします。
- Import Local Inventory Setsリクエストを実行する場合は、"importFilePath"パラメータにインポートするインベントリデータを含むローカルZIPファイル名を入力してください。
-
インポート操作パラメータは必要に応じて設定します:
パラメータ
価値
概要
"importFilePath":
"
" 例えば、インポートするためのインベントリデータファイルへの相対パス "..\catalogs\
" "mode":
"replace"
既存の在庫データをすべて削除し、新しい在庫ファイルデータを追加します。
注意
置換モードがデフォルト値です。このモードは既存のすべてのデータを削除します(新しいデータセットの名前が異なっていても)。
既存のデータを保持したい場合は 、追加 モードを使いましょう。
"add"
新しいデータファイルを追加し、既存の在庫データはすべて保持します。
> [!注]
> 既存のインベントリデータセットがインポートするデータセットファイルと同じ名前の場合、その既存データセットの内容は新しいデータファイルの内容に置き換えられます。"batchSize":
"900"
バッチごとに処理すべきアイテム数。
>[!重要]
> SQLタイムアウトエラーが発生した場合は、バッチサイズを小さく減らします。"errorThreshold":
"10"
インポート操作中に許容される最大エラー数を示します。この閾値に達するとインポート操作は失敗します。
-
インポート操作を開始するには、Sendをクリックしてください。
-
インポート操作の状態を確認するには、返された応答コードを確認してください:
- ResponseCodeが値をFailed返すと、操作中に遭遇するエラーの数は設定されたエラー閾値を超えます。
- ResponseCodが値をCompletedWithErrors返すと、操作中に遭遇するエラーの数は設定されたエラー閾値内です。
- ResponseCodeが値を返すと、誤りなく操作が完了しますSucceeded。
-
この手順は、Sitecore Commerceのデプロイメントにインポートしたい追加の製品在庫ZIPファイルごとに繰り返します。
注意すべてのインベントリセットのインポートが終わったら、IISマネージャーとweb.configファイルで以前に変更 した設定を元の数値に戻さなければなりません。
-
インポート操作中に情報を収集するようにログリングを設定している場合は、ログレベルを元の数値に戻してください(例えば、"Information"から "Warning"まで)。
engine_authoringコンテナに商品在庫データをインポートする
!注この手順はコンテナを用いたCommerce展開にのみ適用されます。もしあなたのデプロイでコンテナ を使用しない場合は 、この手順の指示に従ってください。
コンテナ化されたCommerce展開にカタログデータファイルのインポートが完了したら、関連する在庫データをengine_authoringコンテナにインポートできます。
以下の手順は、Postmanアプリケーションのインストールとセットアップ、Sitecore Commerce Engineソフトウェア開発キット(SDK)からサンプルコレクションを取り込み、環境を設定し、Commerce Engine APIにアクセスするためのベアラートークンを取得したことを前提としています。
製品在庫データをインポートするには:
-
インポート用の在庫データを含むZIPファイルを次のフォルダに入れてください: C:\engine\catalogs\。
-
Sitecore Identityトークンが期限切れの場合は、新しいトークンを取得するために別のGetTokenリクエストを実行してください。
-
コレクションのパネルでInventoryAPISamplesコレクションを展開します。
-
Inventory - APIフォルダを開き、Import Local Inventory Setsリクエストをクリックしてください。
-
環境フィールドで、データをインポートする必要がある商取引環境(例えばHabitatAuthoring環境)を指定します。
-
Bodyタブで、インベントリデータのインポートパラメータ値を指定します:
パラメータ
価値
概要
"importFilePath":
"
" 例えば、インポートするためのインベントリデータファイルへの相対パス "..\catalogs\
" "mode":
"replace"
既存の在庫データをすべて削除し、新しい在庫ファイルデータを追加します。
注意
置換モードがデフォルト値です。このモードは既存のすべてのデータを削除します(新しいデータセットの名前が異なっていても)。
既存のデータを保持したい場合は 、追加 モードを使いましょう。
"add"
新しいデータファイルを追加し、既存の在庫データはすべて保持します。
> [!注]
> 既存のインベントリデータセットがインポートするデータセットファイルと同じ名前の場合、その既存データセットの内容は新しいデータファイルの内容に置き換えられます。"batchSize":
"900"
バッチごとに処理すべきアイテム数。
>[!重要]
> SQLタイムアウトエラーが発生した場合は、バッチサイズを小さく減らします。"errorThreshold":
"10"
インポート操作中に許容される最大エラー数を示します。この閾値に達するとインポート操作は失敗します。
-
インポート操作を開始するには、Sendをクリックしてください。
-
インポート操作の状態を確認するには、返された応答コードを確認してください:
- ResponseCodeが値をFailed返すと、操作中に遭遇するエラーの数は設定されたエラー閾値を超えます。
- ResponseCodeが値をCompletedWithErrors返すと、操作中に遭遇するエラーの数は設定されたエラー閾値内です。
- ResponseCodeが値を返すと、誤りなく操作が完了しますSucceeded。
-
この手順は、Sitecore Commerceのデプロイメントにインポートしたい追加の製品在庫ZIPファイルごとに繰り返します。
注意すべてのインベントリセットのインポートが終わったら、IISマネージャーとweb.configファイルで以前に変更 した設定を元の数値に戻さなければなりません。
-
インポート操作中に情報を収集するようにログリングを設定している場合は、ログレベルを元の数値に戻してください(例えば、"Information"から "Warning"まで)。
インデックスコマースエンジンのカタログ項目
カタログおよびインベントリデータのインポートが完了した後、Commerce Engineのフルインデックスミニオンを手動で起動してカタログアイテムの完全なインデックス化を行う必要があります。この手順はSitecore Commerce Engine SDKに提供されているPostmanサンプルを使用します。
完全なインデックスミニオンを呼び出すには:
-
Postmanコレクション のパネルでSitecoreCommerce_DevOpsコレクションを展開します。
-
Minionsフォルダを開き、Run FullIndex Minion - Catalogs itemsリクエストをクリックします。
-
ボディパネルで環境をAuthoring Environmentに設定します(例:"environmentName":"{{AuthoringEnvironment}}")。
-
リクエストを実行するには、「 Send」をクリックしてください。
!注カタログアイテムの完全なインデックス作成を終えた後は 、Sitecore XPインデックスを手動で再構築する必要があります。