我尝试在我的函数应用程序的AzureWebJobsStorage应用程序设置中更新存储帐户连接字符串,但更新后,所有函数都开始在响应中给出401未授权,即使函数应用程序的入站和出站IP地址在存储帐户中被列入白名单。唯一起作用的函数是代码中具有AuthorizationLevel.Anonymous的函数。我已经尝试重新启动函数应用程序,并从Azure管道重新部署它,但似乎没有任何工作。我真的被卡住了,不知道我错过了什么。如果有人能帮助我,我将非常感激。
ktecyv1j1#
若要在Azure Function App中将存储帐户从现有帐户更改为新帐户,您需要在“配置”下更改应用程序设置,其中包含Azure门户中Function App的存储连接字符串。根据函数,这可能是AzureWebJobsStorage和WEBSITE_CONTENTAZUREFILECONNECTIONSTRING字符串。
更换存储账户后,我为获得成功结果所做的一个变通方法是:
1.在门户中创建Azure函数(.NET 6 - HTTP触发器)并运行该函数:x1c 0d1x的数据1.接下来,在门户的Azure Function应用程序配置中更改了应用程序设置[AzureWebJobsStorage和WEBSITE_CONTENTAZUREFILECONNECTIONSTRING]中的存储帐户名称和键值。1.立即测试功能应用时得到 *401未授权 *。1.然后我点击Azure Function App > Overview部分的Restart-运行良好:
AzureWebJobsStorage
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
结果:
的
如果您仍然因为功能应用程序URL中的授权密钥而遇到问题,请尝试此设置:
你能告诉我如何解密和检查azure-webjobs-secrets中的函数密钥值吗?因为我认为函数密钥已经重新生成了。您可以从Portal中的以下路径获取功能键:的要解密存储帐户>容器> azure-webjobs-secrets > host.json文件中的相同密钥,该host.json文件中有一个名为decryptionKeyId的属性,用于解密加密值。x1c4d 1x的请参阅Decrypt the key from inside a function app了解实际解决方法。
jobtbby32#
帮助我的是从函数存储帐户(AzureWebJobsStorage)中的azure-webjobs-secrets/{your-function-name} blob容器中删除host.json文件并重新启动函数应用程序。我在通过Azure门户>诊断和解决问题>配置和管理>功能键操作进行故障排除时得到了这个想法:由于Azure Functions支持API密钥授权,因此函数密钥或主机密钥更改可能会导致函数身份验证错误。在这种情况下,客户需要手动更新其客户端的API密钥。密钥改变事件可以由以下触发1.客户在Portal/Azure CLI中撤销/更新功能密钥或主机密钥1.客户在密钥管理API上发出PUT/POST/DELETE请求1.客户从函数应用程序的文件系统或azure-webjobs-secrets blob存储中删除webjobs机密文件1.客户更改MACHINEKEY_DecryptionKey应用程序设置1.客户使用keyvault存储功能键并更改其值。
azure-webjobs-secrets/{your-function-name}
host.json
2条答案
按热度按时间ktecyv1j1#
若要在Azure Function App中将存储帐户从现有帐户更改为新帐户,您需要在“配置”下更改应用程序设置,其中包含Azure门户中Function App的存储连接字符串。
根据函数,这可能是AzureWebJobsStorage和WEBSITE_CONTENTAZUREFILECONNECTIONSTRING字符串。
更换存储账户后,我为获得成功结果所做的一个变通方法是:
1.在门户中创建Azure函数(.NET 6 - HTTP触发器)并运行该函数:
x1c 0d1x的数据
1.接下来,在门户的Azure Function应用程序配置中更改了应用程序设置[
AzureWebJobsStorage
和WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
]中的存储帐户名称和键值。1.立即测试功能应用时得到 *401未授权 *。
1.然后我点击Azure Function App > Overview部分的Restart-运行良好:
结果:
的
更新答案:
如果您仍然因为功能应用程序URL中的授权密钥而遇到问题,请尝试此设置:
的
你能告诉我如何解密和检查azure-webjobs-secrets中的函数密钥值吗?因为我认为函数密钥已经重新生成了。
您可以从Portal中的以下路径获取功能键:
的
要解密存储帐户>容器> azure-webjobs-secrets > host.json文件中的相同密钥,该host.json文件中有一个名为decryptionKeyId的属性,用于解密加密值。
x1c4d 1x的
请参阅Decrypt the key from inside a function app了解实际解决方法。
jobtbby32#
帮助我的是从函数存储帐户(AzureWebJobsStorage)中的
azure-webjobs-secrets/{your-function-name}
blob容器中删除host.json
文件并重新启动函数应用程序。我在通过Azure门户>诊断和解决问题>配置和管理>功能键操作进行故障排除时得到了这个想法:
由于Azure Functions支持API密钥授权,因此函数密钥或主机密钥更改可能会导致函数身份验证错误。在这种情况下,客户需要手动更新其客户端的API密钥。
密钥改变事件可以由以下触发
1.客户在Portal/Azure CLI中撤销/更新功能密钥或主机密钥
1.客户在密钥管理API上发出PUT/POST/DELETE请求
1.客户从函数应用程序的文件系统或azure-webjobs-secrets blob存储中删除webjobs机密文件
1.客户更改MACHINEKEY_DecryptionKey应用程序设置
1.客户使用keyvault存储功能键并更改其值。
请注意,如果存储帐户启用了Blob生命周期管理策略,也可以删除Azure函数密钥。