1. 行政

チュートリアル: カタログ データのインポート

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

このチュートリアルでは、カタログ データを含むZIPファイル (以前にSitecore XC環境からエクスポート) を別のSitecore XC環境にインポートする方法について説明します。インポート操作に必要なデータ構造の詳細については、「 チュートリアル: カタログおよびインベントリ データのエクスポート 」トピックを参照してください。

大事な

カタログデータをインポートできるのは、以前にエクスポートしたサイトと同じStorefrontサイトを含む環境のみです。別のStorefrontサイトを含む環境にカタログデータをインポートしようとすると、カタログがすでに別のサイトに関連付けられていることを示すエラーが表示され、インポート操作は失敗します。

メモ

Sitecore XCは現在、完全なカタログのインポートのみをサポートしています。

標準操作中、Commerce Engine Search Serviceは、新しいカタログ項目をインデックス作成リストに定期的に追加する自動化プロセスとして、増分インデックス ミニオンを使用します。この自動化されたプロセスにより、新しいカタログ項目の検出可能性が確保されます。カタログ・インポート中のパフォーマンスを最適化するために、カタログ・アプリケーション・プログラミング・インターフェース (API) は、カタログ・データ・インポート・プロセス中の増分索引付けを防止するポリシー・キーを使用します。これにより、カタログデータのインポートに必要な合計時間が短縮されます。

カタログ・データのインポート後、関連するインベントリー・データ・セットのインポートに進むことができます (必要な場合)。 最後に、カタログ インデックスをCommerce EngineレベルとSitecoreプラットフォーム レベルで手動で再構築する必要があります。

カタログ・データとインベントリー・セット (必要な場合) をインポートし、索引を再作成するには、以下の手順を実行します。

インターネット インフォメーション サービス (IIS) 関連の設定を変更する

カタログ データのインポートを開始する前に、インターネット インフォメーション サービス (IIS) 設定 (IISマネージャーとweb.configファイル) を変更して、データのエクスポート プロセス中にタイムアウトが発生するリスクを減らす必要があります。これは、非常に大きなカタログ・データ・セットをエクスポートする場合に重要です。

カタログ・データのインポートに使用したサービスを再構成するには、次のようにします。

  1. インターネット インフォメーション サービス (IIS) マネージャーを起動し、ナビゲーション ツリーでApplication Poolsをクリックします。

  2. Application Poolsページで、関連するアプリケーションプールの名前(CommerceAuthoring_Sc9など)をクリックします。

  3. ActionsペインのEdit Application PoolセクションでAdvanced Settingsをクリックし、Advance Settingsダイアログ ボックスで次の値を0に設定します。

    パラメーター

    価値

    CPU

      Limit Interval (minutes) 

    0

    Process Model

     Idle Time-out (minutes)

    0

    Recycling

    Regular Time Interval (minutes)

    0

  4. OK」をクリックします。

  5. カタログ データのインポートに使用するサービス (C:\inetpub\wwwroot\CommerceAuthoring_Sc9\web.configなど) のweb.configファイルを開き、次の構成サンプルで太字でマークされている設定を変更します。

    手記

    IIS設定を変更する前に、カタログのインポートが完了した後に何に戻すべきかがわかるように、元の値をメモしておいてください。

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <system.webServer>
        <security>
          <requestFiltering>
            <!-- For Microsoft IIS (Internet Information Services), maxAllowedContentLength specifies the maximum length of content in a request, in bytes. -->
            <requestLimits maxAllowedContentLength="2147483648" />
          </requestFiltering>
        </security>
        <handlers>
          <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
        </handlers>
        <modules runAllManagedModulesForAllRequests="false">
          <remove name="WebDAVModule" />
        </modules>
        <aspNetCore processPath=".\Sitecore.Commerce.Engine.exe" arguments="" forwardWindowsAuthToken="false" stdoutLogEnabled="false" requestTimeout="00:00:00"stdoutLogFile=".\logs\stdout" />
      </system.webServer>
    </configuration>
  6. カタログデータのインポートに使用するサービスのメモリキャッシュプラグインファイル( C:\inetpub\wwwroot\CommerceAuthoring_Sc9\wwwroot\data\EnvironmentsPlugin.AuthoringMemoryCache.PolicySet-1.0.0.jsonなど)で、Sitecore.Commerce.Plugin.Workflow.WorkflowエンティティセクションのパラメータAllowCachingtrueに設定されていることを確認します。

    そうでない場合は、値をtrueに変更し、Commerce Engineを ブートストラップ して変更を保持します。

    手記

    オプションで、カタログ・データのインポート中に情報を収集するためのロギングを有効にできます。カタログ データ (C:\inetpub\wwwroot\CommerceAuthoring_Sc9\wwwroot\config.jsonなど) のインポートに使用するCommerce Engineサービスのconfig.jsonファイルを開き、"Default""Microsoft""System"ログのログレベル値を"Information"に設定します。

    "Serilog":  {
       "Using": [
          "Serilog.Sinks.Literate",
          "Serilog.Sinks.File"
       ]
       "MinimumLevel": {
         "Default": "Information",
         "Override": {
           "Microsoft": "Information"
           "System": "Information",
       }
    }
  7. インターネット インフォメーション サービスをリセットします。

Commerceカタログのインポート

このタスクでは、カタログ データを含むZIPファイル (以前にSitecore XC環境からエクスポート) を別のSitecore XC環境にインポートする方法について説明します。この手順は、Sitecore Commerce Engineソフトウェア開発キット (SDK) に付属しているPostmanサンプルに基づいています。

手記

ZIPファイルが1 GBを超える場合は、ファイルをローカル マシン (Commerce Engineサービスのwwwroot\data\Catalogsフォルダなど) にコピーし、以下で説明するようにImport Local Catalogsリクエストを使用します。

Azureデプロイの場合は、FTP/Sデプロイ資格情報を使用してZIPファイルをAzure Webアプリ サービスにアップロードします。

次の手順は、Postmanアプリケーションをインストールして設定し、Sitecore Commerce Engine SDKからサンプル コレクションをインポートし、環境を設定し、Commerce Engine APIにアクセスするためのベアラー トークンを取得していることを前提としています。

カタログ商品データをインポートするには:

  1. Collectionsウィンドウで、CatalogAPISamplesコレクションを展開します。

  2. Catalog - APIフォルダを開きます。

    • ZIPファイルが1 GB未満の場合は、Import Catalogs (with publishing) リクエストをクリックします。

    • ZIPファイルが1 GBを超える場合は、Import Local Catalogsリクエストをクリックします。

    手記

    with publishingをインポートすると、公開ワークフローがバイパスされます。その結果、Sellable商品はインポートされ、コンテンツ配信サーバーに公開するためにさまざまなステータス (draftwaiting for approvalなど) から移行する必要はありません。

    ( Postmanサンプルには、公開withoutカタログのインポート要求も含まれています。この場合、インポートされたSellable商品は下書きステータスであり、その後、公開ワークフローを通過する必要があります。

  3. Environmentフィールドで、データをインポートする必要があるCommerce環境 (たとえば、HabitatAuthoring環境) を指定します。

  4. Headers 」タブをクリックし、HTTPリクエストで次のヘッダー・キーと値を指定します。

    • 鍵: PolicyKeys

    • 価値:IgnoreIndexDeletedSitecoreItem|IgnoreAddEntityToIndexList|IgnoreIndexUpdatedSitecoreItem|IgnoreLocalizeEntity

  5. Bodyタブで、インポートするファイルを指定します。

    • Import Catalogs (with publishing) 要求を実行している場合は、importFileキー値でChoose Filesをクリックし、インポートするカタログ データを含むZIPファイルを参照してクリックします。

    • Import Local Catalogs要求を実行している場合は、"importFilePath" パラメーターで、インポートするカタログ データを含むローカルZIPファイルの名前を指定します。Azureデプロイの場合は、"batchSize" パラメーターで値を "-1" に設定します (ZIPファイルのバッチ サイズを使用するため)。

    次の表では、カタログ データのインポートのパラメーターについて説明します。

    価値

    形容

    mode

    replace

    既存のカタログをすべて削除し、インポートする新しいカタログ ファイルを追加します。

    注意

    置換モードがデフォルト値です。このモードでは、既存のカタログ・データがすべて削除されます (新しいカタログの名前が異なる場合でも)。既存のカタログ・データを保持する場合は、add ・モードを使用します。

    add

    新しいカタログ・データ・ファイルを追加し、既存のカタログをすべて保持します。

    手記

    既存のカタログがインポートするカタログ ファイルと同じ名前の場合、既存のカタログの内容は新しいカタログ ファイルの内容に置き換えられます。

    errorThreshold

    <int>

    インポート操作中に許容されるエラーの最大数を示します。このしきい値に達すると、インポート操作は失敗します。

  6. カタログのインポート操作を開始するには、Sendをクリックします。

    DevOps APIを使用して、実行時間の長いインポート コマンドのステータスを確認できます

    手記

    インポート操作中に情報を収集するようにロギングを設定した場合は、ロギングレベルを元の値に戻します (たとえば、"Information"から"Warning"に戻します)。

  7. Sitecore Commerceデプロイメントにインポートする追加のカタログ .zipファイルごとに、この手順を繰り返します。

    注意

    すべてのカタログのインポートが完了したら (インポートする関連するインベントリ データがない場合)、IISマネージャーとweb.configファイルで以前に変更 した設定を元の値に戻す必要があります。

商品在庫データのインポート

カタログ・データ・ファイルのデプロイメントへのインポートが完了したら、関連するインベントリ・データをインポートできます。

手記

ZIPファイルが1 GBを超える場合は、ファイルをローカル マシン (Commerce Engineサービスのwwwroot\data\Catalogsフォルダなど) にコピーし、以下で説明するようにImport Local Catalogsリクエストを使用します。

Azureデプロイの場合は、FTP/Sデプロイ資格情報を使用してZIPファイルをAzure Webアプリ サービスにアップロードします。

次の手順は、Postmanアプリケーションをインストールして設定し、Sitecore Commerce Engineソフトウェア開発キット (SDK) からサンプル コレクションをインポートし、環境を設定し、Commerce Engine APIにアクセスするためのベアラー トークンを取得していることを前提としています。

カタログ・インベントリ・データをインポートするには:

  1. Sitecore Identityトークンの有効期限が切れている場合は、別のGetTokenリクエストを実行して新しいトークンを取得します。

  2. Collectionsウィンドウで、InventoryAPISamplesコレクションを展開します。

  3. Inventory - APIフォルダを開きます。

    • ZIPファイルが1 GB未満の場合は、Import Inventory Setsリクエストをクリックします。

    • ZIPファイルが1 GBを超える場合は、Import Local Inventory Setsリクエストをクリックします。

  4. Environmentフィールドで、データをインポートする必要があるCommerce環境 (たとえば、HabitatAuthoring 環境) を指定します。

  5. Bodyタブで、インポートするファイルを指定します。

    • Import Inventory Sets要求を実行している場合は、importFileキー値でChoose Filesをクリックし、インポートするインベントリ データを含むZIPファイルを参照してクリックします。

    • Import Local Inventory Setsリクエストを実行している場合は、"importFilePath" パラメータで、インポートするインベントリデータを含むローカルZIPファイルの名前を指定します。Azureデプロイの場合は、"batchSize" パラメーターで値を "-1" に設定します (ZIPファイルのバッチ サイズを使用するため)。

  6. インポート操作を開始するには、Sendをクリックします。

  7. Sitecore Commerceデプロイメントにインポートする追加の商品在庫ZIPファイルごとに、この手順を繰り返します。

    注意

    すべてのインベントリ セットのインポートが完了したら、IISマネージャーとweb.configファイルで以前に変更 した設定を元の値に戻す必要があります。

    手記

    インポート操作中に情報を収集するようにロギングを設定した場合は、ロギングレベルを元の値に戻します (たとえば、"Information"から "Warning"に戻します)。

Index Commerce Engineカタログ項目

カタログとインベントリ データのインポートが完了したら、Commerce Engineのフル インデックス ミニオンを手動で開始して、カタログ アイテムの完全なインデックス作成を実行する必要があります。この手順では、Sitecore Commerce Engine SDKで提供されているPostmanサンプルを使用します。

完全なインデックス ミニオンを呼び出すには、次の手順を実行します。

  1. Postman Collectionsウィンドウで、SitecoreCommerce_DevOpsコレクションを展開します。

  2. Minionsフォルダを開き、Run FullIndex Minion - Catalogs itemsリクエストをクリックします。

  3. Bodyペインで、環境をAuthoring Environmentに設定します (例:"environmentName":"{{AuthoringEnvironment}}")。

  4. 要求を実行するには、Sendをクリックします。

    手記

    カタログ アイテムの完全なインデックス作成を実行した後、Sitecore XPインデックスを手動で再構築する必要があります。

この記事を改善するための提案がある場合は、 お知らせください!