我可以用环境变量解析 url 吗?

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

在 docker-compose.yaml 中

环境:

TEST_URL: 'https://something.com/api'

在settings.yaml中

partners:
      calculation_url:${CALCULATION_URL:"${TEST_URL}/v1.0/rest/vehicle/insurance/v5/calculation"}

我想将 URL

https://something.com/api
放入变量中,然后在 settings.yaml 中使用它。是否可以在
${TEST_URL}
中使用
calculation_url
?我需要以类似的方式更改多个 URL,但这种方法似乎不起作用。

我尝试使用所描述的修改后的环境启动应用程序,但 URL 格式似乎不正确。是否可以调整环境设置使其起作用,或者这种方法根本不可行?

docker-compose yaml environment-variables settings
1个回答
0
投票

是的,您可以使用环境变量在应用程序中动态配置 URL。您概述的方法几乎是正确的,但是您需要进行一些调整才能实现您想要的结果。

在 docker-compose.yaml 文件中,您定义了一个名为 TEST_URL 的环境变量,其值为“https://something.com/api”。

在您的settings.yaml 文件中,您尝试在合作伙伴配置部分中使用此环境变量来构建calculation_url 的动态URL。

以下是实现此目标的方法:

更新您的 docker-compose.yaml:

environment:
  TEST_URL: 'https://something.com/api'

这会将 TEST_URL 环境变量设置为“https://something.com/api”。

更新您的设置.yaml:

partners:
  calculation_url: ${CALCULATION_URL:${TEST_URL}/v1.0/rest/vehicle/insurance/v5/calculation}

此处,您使用的是 ${CALCULATION_URL:${TEST_URL}/v1.0/rest/vehicle/insurance/v5/calculation} 语法。这意味着如果设置了 CALCULATION_URL 环境变量,就会使用它;否则,${TEST_URL}/v1.0/rest/vehicle/insurance/v5/calculation 中的值将用作默认值。

现在,当您使用如上所述的修改后的环境启动应用程序时,应该正确构建 URL。只需确保语法精确,并且 YAML 文件中的缩进正确即可。

如果您已尝试此方法但 URL 格式仍然不正确,请仔细检查您的 YAML 语法并确保环境变量正确传递到您的应用程序。另外,请确保您使用的应用程序通过环境变量支持这种动态 URL 配置。

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