动态更改Service Fabric环境变量

问题描述 投票:-1回答:1

我在Service Fabric中有一个服务,其中包含服务清单中定义的环境变量,我想在部署后进行动态更改。最好的方法是什么?

据我所知,这必然涉及更新应用程序并为服务创建新版本。

.net azure service azure-service-fabric fabric
1个回答
0
投票
  1. 在服务清单中指定环境变量和值。如果您已经指定了环境变量,则可能已经有了这些。
<CodePackage Name="MyCode" Version="CodeVersion1">
        <EnvironmentVariables>
              <EnvironmentVariable Name="MyEnvVariable" Value="DefaultValue"/>
              <EnvironmentVariable Name="HttpGatewayPort" Value="19080"/>
        </EnvironmentVariables>
</CodePackage>
  1. 在应用程序清单中添加环境变量替代
<ServiceManifestImport>
    <ServiceManifestVersion="1.0.0" />
    <EnvironmentOverrides CodePackageRef="MyCode">
      <EnvironmentVariable Name="MyEnvVariable" Value="OverrideValue"/>
    </EnvironmentOverrides>
  </ServiceManifestImport>
  1. 在应用程序清单中,将环境变量值指定为参数,而不是特定的覆盖值。
<ServiceManifestImport>
    <ServiceManifestVersion="1.0.0" />
    <EnvironmentOverrides CodePackageRef="MyCode">
      <EnvironmentVariable Name="MyEnvVariable" Value="[MyEnvVariableOverride]"/>
    </EnvironmentOverrides>
  </ServiceManifestImport>

<Parameters>
   <Parameter Name="MyEnvVariableOverride" DefaultValue="DefaultOverrideValue" />
</Parameters>

  1. 进行应用程序升级,该应用程序通过ApplicationParameters哈希表更改应用程序参数(在PS中-参数名到参数值的映射)。例如,您可以将“ MyEnvVariableOverride”设置为“ FinalValue”。这将流下来,并导致服务看到的环境变量值发生更改。请注意,更改环境变量需要重新启动进程。

相关文档:1234

© www.soinside.com 2019 - 2024. All rights reserved.