python azure functions v2 msiauthentication

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python azure functions v2 msiauthentication相关的知识,希望对你有一定的参考价值。

我试图通过run.ps1脚本设置MSI_ENDPOINT和MSI_SECRET来弄清楚我们可以在v1中做些什么。功能将使用服务分配的身份访问许多其他服务。有没有办法设置它,所以我的本地开发环境也可以运行相同的脚本?

from azure.keyvault import KeyVaultClient, KeyVaultAuthentication
from msrestazure.azure_active_directory import MSIAuthentication

credentials = MSIAuthentication()
key_vault_client = KeyVaultClient(credentials)

当我尝试在本地调试时,函数失败并出现以下错误

执行'Functions.stat-based-monitor'(失败,Id = 5611b477-976a-47e0-bb87-db06571eb3b7)System.Private.CoreLib:执行函数时出现异常:Functions.stat-based-monitor。 System.Private.CoreLib:Result:Failure Exception:ConnectionError:HTTPConnectionPool(host ='...',port = 80):使用url超出最大重试次数:/ metadata / identity / oauth2 / token?resource = https%3A%2F %2Fmanagement.core.windows.net%2F&api-version = 2018-02-01(由NewConnectionError引起(':无法建立新连接:[WinError 10051]尝试对无法访问的网络进行套接字操作'))

有趣的是,如果我在天蓝色的vm而不是我的本地开发盒上运行这些行,它会按预期运行。 msiauth需要Azure VM吗?

答案

截至2019年3月,只有Azure资源支持托管身份,Azure VM和本地开发框尚不支持。

另一答案

运行Azure CLI az登录并验证您的工作站

  1. 确保安装了Azure CLI 2.0.x
  2. 在Azure CLI中运行az登录
  3. 将本地环境中的代码输入到Web对话框中

这应该为您的本地环境提供适当的开发上下文,以便从密钥库端点访问值。

来自Azure Docs的更多细节

以上是关于python azure functions v2 msiauthentication的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Azure Function v2(核心)中静态使用 ConfigurationBuilder?

Azure Function v2 引用了 Newtonsoft.Json 版本高于 Microsoft.NET.Sdk.Functions 的项目

Azure Blob Storage V2,来自 Azure Function App 的异常 API 调用,升级后

Visual Studio 2019 不会调试 Azure Function V2

发布函数时未返回 Azure Functions V2 Http 错误代码内容

为什么在Azure Function v2中运行的ClaimsPrincipal中缺少'identityProvider'声明?