多环境Azure功能

And*_*ffy 2 azure-sql-database azure-functions

我想创建一个 Azure 函数,它是一个队列触发器,当它触发时,它会连接到 SQL DB 并获取记录并更新它。

如何确保 SQL 连接查询正确的数据库?例如,登台数据库与生产数据库

我是否需要拥有同一 azure 函数的两个实例?一个在应用程序设置中将其连接字符串设置为指向临时数据库,另一个设置为指向生产数据库?当然不是?!

我能找到的每一篇文章都讨论了你的 local.settings.json 和生产..这很好。但在现实世界中,我们可能有本地、测试、登台、生产。

我可以作为进入我的 Azure 函数的排队消息的一部分来传递环境,但肯定有一种更优雅的方式,但我错过了一些东西?

DSp*_*rit 5

我认为这取决于您的解决方案设计、规模和部署策略。这里有 3 个选项:

选项 1(我们的解决方案):我们在大规模的 4 种环境(DEV、TEST、STAGE、PROD)中使用 Azure Functions。因此,我们为每个实例创建了一个函数,在每个阶段都具有正确的连接字符串。

选项 2:另一种可能性是创建不同的部署槽和设置,然后您可以仅使用具有不同设置的一个功能。

选项 3:您可以创建参数化设置并决定选择哪一项。

  • 哎呀...想象一下,如果文档真的像您刚才那样说得那么清楚!谢谢@DSspirit (4认同)
  • 嗨@DSpirit,只是为了说清楚。在您描述的第一个解决方案中,**“我们为每个实例创建了一个函数”**,您的意思是**“我们为每个实例创建了一个函数_app_”**? (2认同)
  • @gersonZaragocin是的,每个实例都有自己的功能**app**,例如ordertrigger-dev,... ordertrigger-prod。在我们的场景中,这还包括每个环境的不同虚拟网络。但如上所述,这并不是实现这一目标的唯一方法 - 我的客户甚至为每个环境都有单独的订阅,因此可能性与您的要求一样动态。 (2认同)