【发布时间】:2020-02-10 02:55:56
【问题描述】:
我在 Service Fabric 中有一个服务,其中包含在服务清单中定义的环境变量,我想在部署后动态更改该环境变量。最好的方法是什么?
据我所知,这必然涉及更新应用程序并为服务创建新版本。
【问题讨论】:
-
能否请您更具体地说明您喜欢动态设置哪些变量?
我在 Service Fabric 中有一个服务,其中包含在服务清单中定义的环境变量,我想在部署后动态更改该环境变量。最好的方法是什么?
据我所知,这必然涉及更新应用程序并为服务创建新版本。
【问题讨论】:
<CodePackage Name="MyCode" Version="CodeVersion1">
<EnvironmentVariables>
<EnvironmentVariable Name="MyEnvVariable" Value="DefaultValue"/>
<EnvironmentVariable Name="HttpGatewayPort" Value="19080"/>
</EnvironmentVariables>
</CodePackage>
<ServiceManifestImport>
<ServiceManifestVersion="1.0.0" />
<EnvironmentOverrides CodePackageRef="MyCode">
<EnvironmentVariable Name="MyEnvVariable" Value="OverrideValue"/>
</EnvironmentOverrides>
</ServiceManifestImport>
<ServiceManifestImport>
<ServiceManifestVersion="1.0.0" />
<EnvironmentOverrides CodePackageRef="MyCode">
<EnvironmentVariable Name="MyEnvVariable" Value="[MyEnvVariableOverride]"/>
</EnvironmentOverrides>
</ServiceManifestImport>
和
<Parameters>
<Parameter Name="MyEnvVariableOverride" DefaultValue="DefaultOverrideValue" />
</Parameters>
ApplicationParameters 哈希表更改应用程序参数(在 PS 中 - 参数名称到参数值的映射)。例如,您可以将“MyEnvVariableOverride”设置为“FinalValue”。这将向下流动并导致服务看到的环境变量值发生变化。请注意,更改环境变量需要重新启动进程。【讨论】: