環境変数を用いたCommerce Engineの設定
このページの翻訳は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のPropertiesフォルダにあるlaunchSettings.jsonファイルから読み込まれます*。Commerce.Engine*プロジェクト(Sitecore.Commerce.Engine.SDK)。サンプル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のサンプルlaunchSettings.jsonファイルを参照してください 。商取引。SDK。
環境変数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ファイルをご参照ください。