【问题标题】:How to preserve App Keys of an Azure Function after swapping slots?交换插槽后如何保留 Azure 函数的应用程序密钥?
【发布时间】:2022-08-22 12:07:41
【问题描述】:

我有这个资源在天蓝色。

  • (fa-001) 功能应用程序 (资源 A)
  • (fa-001/slot) 应用服务 (Slot) (资源 B)

这两个资源都有下面的 url。

在本地运行时,我需要使用默认的 App Keys 才能访问这些功能。
所以 url\'s 如下所示。

我最初在 POSTMAN 上执行了 url\'s 没有问题。
现在,我在 azure devops 中有一个 yaml 脚本,它将交换这些资源的插槽。
我执行了 yaml 脚本。

资源 A会变成资源 B.
资源 B会变成资源 A.

我在 POSTMAN 上再次执行了 url,但响应为 401。

但是如果我交换代码,我可以毫无问题地访问 url。

交换天蓝色功能插槽时有没有办法保留应用程序密钥?
如果有办法,怎么办?

    标签: azure azure-devops azure-functions


    【解决方案1】:

    请检查我已经完成的以下解决方法:

    • 在门户中创建了 Azure Functions .NET 6 应用程序,具有 2 个部署槽:生产和暂存。

    生产槽 - ProdHttpTrigger 暂存槽 - StagingHttpTrigger

    这些是这 2 个插槽中不同的应用程序密钥:

    交换后:

    功能在插槽之间更改但未更改应用程序密钥(代码=值)。

    每次交换时,密钥都不会改变,两个插槽使用相同的密钥.

    这些密钥将在交换插槽并将应用程序设置AzureWebJobsSecretStorageType 设置为files 期间重置。

    您还可以使用功能键来创建该 API/触发器的自定义键值对,并且它适用于两个插槽,类似于应用程序键。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-28
      • 2021-06-01
      • 1970-01-01
      相关资源
      最近更新 更多