gpt4 book ai didi

git - Azure Function 持续部署如何处理特定于环境的转换?

转载 作者:行者123 更新时间:2023-12-03 04:50:29 24 4
gpt4 key购买 nike

我有一组函数,其中一些函数需要与事件中心的特定环境连接,即函数应用程序 A 连接到事件中心 A,函数应用程序 B 连接到事件中心 B。鉴于 CD 模型使用分支 -每个环境,如何维护驱动集成的 function.json 的单独副本?

愚蠢的答案显然是在每个分支上维护一个单独的 function.json 副本。这是愚蠢的,因为这意味着“要非常小心,不要意外地 merge 到特定于环境的副本之上,并且当您忘记时要感到非常抱歉”。理想情况下,应该维护特定于环境的副本,例如 function.DEV.json 和 function.QA.json。但事实似乎并非如此。

我的 function.json 看起来像这样:

{
"bindings": [
{
"type": "eventHubTrigger",
"name": "myEventHubMessage",
"direction": "in",
"path": "iot-e1-ehub-dev-deviceevents-01",
"connection": "iot-e1-ehub-dev-deviceevents-01_iothubroutes_iot-e1-iot-dev-01_EVENTHUB"
}
],
"disabled": false
}

因此,这些路径和连接元素对于每个环境来说都需要不同。如果有一种方法可以在 function.json 之外管理该绑定(bind),我不知道。

有更好的解决方案吗?

最佳答案

更好的解决方案是将事件中心的参数保留在应用程序设置中,并将这些设置的名称放入 function.json 中,而无需对其进行转换。

因此,您应该将 function.json 定义为

{
"bindings": [
{
"type": "eventHubTrigger",
"name": "myEventHubMessage",
"direction": "in",
"path": "%eventHubPath%",
"connection": "eventHubConnection"
}
],
"disabled": false
}

然后在门户应用程序设置/连接字符串中定义 eventHubPatheventHubConnection(如果您使用的是本地环境,则定义 local.settings.json )。

关于git - Azure Function 持续部署如何处理特定于环境的转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48569126/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com