1. 構成

環境変数を使用したCommerce Engineの設定

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

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

変数ファイルを使用して、Commerce Engine環境を構成できます。Commerce Engineは、実際の値ではなく、設定ファイルと環境ファイルでプレースホルダーを使用します。構成値は、環境変数ファイルで変数として定義されます。環境変数を使用すると、すべてのXC環境をまとめて構成できます。同じ環境変数ファイルを使用して、Commerce Engineの異なるインスタンス (開発環境と実稼働環境など) に対して複数の環境変数セットを定義できます。

Commerce Engine設定ファイルのプレースホルダの表記

Commerce Engine設定ファイルでは、環境パラメータの先頭に文字列PlaceholderForが付きます。これらの環境設定パラメータは、設定ファイルで特定の値を定義する必要はなく、環境変数から値を取得できます。次の例は、global.json構成ファイル内の一部の環境パラメーターで、値の一部としてPlaceholderForセグメントを含み、環境変数を使用して置き換えることができるものを示しています。

{
 "$type": "Sitecore.Commerce.Plugin.Management.SitecoreConnectionPolicy, Sitecore.Commerce.Plugin.Management",
 "Host": "PlaceholderForSitecoreHost",
 "SitecoreDatabase": "PlaceholderForSitecoreDatabase",
 "UserName": "PlaceholderForSitecoreUsername",
 "Domain": "PlaceholderForSitecoreDomain",
 "Password": "PlaceholderForSitecorePassword",
 "ConnectionLeaseTimeout": "PlaceholderForConnectionLeaseTimeout|int",
 "AuthRequestUrl": "sitecore/api/ssc/auth/login",
 "Protocol": "PlaceholderForSitecoreProtocol",
 "AllowAnonymousUser": "PlaceholderForSitecoreAllowAnonymousUser|bool"
}

設定ファイルのプレースホルダーを表す文字列には、次の文字のみを含めることができます。

  • 小文字 (a-z)

  • 大文字 (A-Z)

  • ハイフン ("-")

  • アンダースコア ("_")

    メモ

    プレースホルダー表記に数字を含めることはできません。

実行時に、XCがさまざまなファイルから設定を読み込むと、環境変数ファイルが検索され、一致する各パラメータに対して、対応する環境変数が使用されます。次に示すのは、Visual StudioのlaunchSettings.jsonファイルの環境変数の例で、前の例で使用したプレースホルダーを置き換えるパラメーター値を定義しています。

{
 "$type": "Sitecore.Commerce.Plugin.Management.SitecoreConnectionPolicy, Sitecore.Commerce.Plugin.Management",
 "COMMERCEENGINE_SitecoreHost": "sxa.storefront.com",
 "COMMERCEENGINE_SitecoreDatabase": "master",
 "COMMERCEENGINE_SitecoreUsername": "admin",
 "COMMERCEENGINE_SitecoreDomain": "sitecore",
 "COMMERCEENGINE_SitecorePassword": "b",
 "COMMERCEENGINE_SitecoreProtocol": "http",
 "COMMERCEENGINE_SitecoreAllowAnonymousUser": "false",
}

プレースホルダーでサポートされているデータ型

Sitecore XCが環境変数からパラメーター値を作成するとき、特に指定がない限り、データ型は文字列であると想定します。サポートされているその他のデータ型は、整数とブールです。設定ファイルでは、次の例に示すように、データ型 (文字列以外) が値の末尾に追加され、パイプ (|) で区切られます。

種類

設定ファイルのプレースホルダー値

"PlaceholderForSitecoreHost"

手記

文字列型は暗黙的です。

ブーリアン

"PlaceholderForSitecoreAllowAnonymousUser|bool"

整数

"PlaceholderForIntegerValue|int"

launchSettings.jsonの環境変数

Visual StudioからCommerce Engineを起動すると、環境変数は参照Sitecore.Commerce.EngineプロジェクトのPropertiesフォルダー (Sitecore.Commerce.Engine.SDK内) にあるlaunchSettings.jsonファイルから読み込まれます。サンプルlaunchSettings.jsonファイルでは、次の例に示すように、"Development"環境と"Production"環境の環境変数プロファイルを事前に定義しています。

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "https://localhost:5000/",
      "sslPort": 0
    }
  },
  "profiles": {
    "IISExpress": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "api/$metadata",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development",
        "COMMERCEENGINE_AppSettings__DeploymentId": "HabitatAuthoring01",
        "COMMERCEENGINE_AppSettings__EnvironmentName": "HabitatAuthoring",
  ...
      }
    },
    "Engine": {
      "commandName": "Project",
      "launchUrl": "https://localhost:5000/api/$metadata",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development",
        "COMMERCEENGINE_AppSettings__DeploymentId": "HabitatAuthoring01",
 ...
      }
    },
    "EngineProduction": {
      "commandName": "Project",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Production",
        "COMMERCEENGINE_AppSettings__DeploymentId": "HabitatAuthoring01",
        "COMMERCEENGINE_AppSettings__EnvironmentName": "HabitatAuthoring",
 ...
      }
    }
  }
} 
手記

この例では、すべての定義済み変数が示されているわけではありません。事前定義された環境変数の完全なリストについては、Sitecore.Commerce.SDKのサンプルlaunchSettings.jsonファイルを参照してください。

docker-compose.ymlの環境変数

コンテナ化されたXCソリューションを実行すると、./docker-compose.ymlファイルで定義されている環境変数がロードされます。 ./docker-compose.ymlファイルでは、環境変数が事前に定義されています。例えば:

engine_authoring:
  image: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc1-engine:${XC_PACKAGES_TAG}
  depends_on:
      mssql:
        condition: service_healthy
      solr:
        condition: service_started
      id:
        condition: service_started
      redis:
        condition: service_started
    environment:
      COMMERCEENGINE_AppSettings__DeploymentId: HabitatAuthoring01
      COMMERCEENGINE_AppSettings__EnvironmentName: HabitatAuthoring
      COMMERCEENGINE_AppSettings__SitecoreIdentityServerUrl: http://${IDENTITY_SERVICE_IP}
      COMMERCEENGINE_AppSettings__AllowedOrigins: http://${XC_BIZFX_IP}|http://${CM_SERVICE_IP}|http://${CD_SERVICE_IP}
      COMMERCEENGINE_AppSettings__AntiForgeryEnabled: "false"
      COMMERCEENGINE_AppSettings__UseHttpsInKestrel: "false"
      COMMERCEENGINE_Caching__Redis__Options__Configuration: ${REDIS_SERVICE_IP}
      COMMERCEENGINE_Caching__Redis__Options__InstanceName: Redis
      COMMERCEENGINE_CommerceConnector__ClientId: ${XC_ENGINE_CONNECT_CLIENTID}
      COMMERCEENGINE_GlobalDatabaseName: ${XC_GLOBAL_DB}
      COMMERCEENGINE_GlobalDatabaseServer: ${SITECORE_MSSQL_SERVICE_IP}
      COMMERCEENGINE_GlobalDatabaseUserName: sa
      COMMERCEENGINE_GlobalDatabasePassword: ${SQL_SA_PASSWORD}
      COMMERCEENGINE_GlobalTrustedConnection: "${XC_GLOBAL_DB_TRUSTED_CONNECTION}"
      COMMERCEENGINE_SharedDatabaseName: ${XC_SHARED_DB}
      COMMERCEENGINE_SharedDatabaseServer: ${SITECORE_MSSQL_SERVICE_IP}
      COMMERCEENGINE_SharedDatabaseUserName: sa
      COMMERCEENGINE_SharedDatabasePassword: ${SQL_SA_PASSWORD}
      COMMERCEENGINE_SharedTrustedConnection: "${XC_SHARED_DB_TRUSTED_CONNECTION}"
手記

この例では、すべての定義済み変数が示されているわけではありません。定義済みの環境変数の完全なリストについては、サンプル ./docker-compose.ymlファイルを参照してください。

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