我试图通过run.ps1脚本设置MSI_ENDPOINT和MSI_SECRET来弄清楚我们在v1中可以做什么。Function将使用服务分配的身份来访问许多其他服务。有没有一种设置方法,以便我的本地开发环境也可以运行相同的脚本?
from azure.keyvault import KeyVaultClient, KeyVaultAuthentication
from msrestazure.azure_active_directory import MSIAuthentication
credentials = MSIAuthentication()
key_vault_client = KeyVaultClient(credentials)
当我尝试在本地调试时,功能失败并显示以下错误
已执行“基于Functions.stat的监视器”(失败,Id = 5611b477-976a-47e0-bb87-db06571eb3b7)System.Private.CoreLib:执行函数:基于Functions.stat的监视器时发生异常。System.Private.CoreLib:结果:失败异常:ConnectionError:HTTPConnectionPool(host ='...',端口= 80):URL超过了最大重试次数:/ metadata / identity / oauth2 / token?resource = https%3A%2F %2Fmanagement.core.windows.net%2F&api-version = 2018-02-01(由NewConnectionError(':导致无法建立新连接:[WinError 10051]尝试对不可达网络的套接字操作',))
有趣的是,如果我在azure vm而不是我的本地dev框上运行这些行,它的确会按预期运行。msiauth是否需要Azure VM?
自2019年3月起,仅Azure资源(如Azure VM)支持托管身份,尚不支持本地开发盒。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句