繁体   English   中英

更改存储帐户连接字符串后 Azure Function App 无法正常工作

[英]Azure Function App not working after changing storage account connection string

我尝试在我的函数应用程序的 AzureWebJobsStorage 应用程序设置中更新存储帐户连接字符串,但更新后,所有函数开始在响应中给出 401 Unauthorized 即使函数应用程序的入站和出站 IP 地址在存储帐户中列入白名单.

唯一有效的函数是代码中包含 AuthorizationLevel.Anonymous 的函数。

我试图重新启动函数应用程序并从 azure 管道重新部署它,但似乎没有任何效果。 我真的被卡住了,无法弄清楚我在这里错过了什么。 如果有人可以帮助我,我将非常感激。

若要在 Azure Function App 中将存储帐户从现有更改为新帐户,需要在 Azure 门户中更改包含 Function App 的存储连接字符串的配置下的应用程序设置。

根据函数,这可能是AzureWebJobsStorageWEBSITE_CONTENTAZUREFILECONNECTIONSTRING字符串。

在更改存储帐户后,我为获得成功结果所做的解决方法之一是

  1. 在门户中创建 Azure 函数(.NET 6 - HTTP 触发器)并运行该函数:

在此处输入图像描述

  1. 接下来,在门户的 Azure Function App 配置中更改了应用程序设置 [ AzureWebJobsStorageWEBSITE_CONTENTAZUREFILECONNECTIONSTRING ] 中的存储帐户名称和键值。
  2. 立即测试函数应用时得到401 Unauthorized
  3. 然后我单击重新启动Azure 函数应用程序 > 概述部分 - 它运行良好:

结果

在此处输入图像描述

更新答案:

如果由于函数应用 URL 中的授权键仍然存在问题,请尝试以下设置:

更新功能键值

  • 转到 Azure 门户中的 Function App > Functions > your Function > Function Keys > Renew Key Value
  • 成功更新密钥后立即重新启动功能。
  • 然后,运行函数。

您能否告诉我如何解密和检查 azure-webjobs-secrets 中的功能键值,因为我认为功能键已经重新生成。

您可以从 Portal 中的此路径获取功能键: 在此处输入图像描述

要解密位于 Storage Account > Containers > azure-webjobs-secrets > host.json 文件中的相同密钥,该 host.json 文件中有一个名为 decryptionKeyId 的属性,用于解密加密的值。

在此处输入图像描述

请参阅从函数应用内部解密密钥以了解实际解决方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM