【发布时间】:2019-01-24 23:19:50
【问题描述】:
我试图通过 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 的监视器。 System.Private.CoreLib:结果:失败 例外:ConnectionError:HTTPConnectionPool(host='...', port=80):最大重试次数超出了 url:/metadata/identity/oauth2/token?resource=https%3A%2F%2Fmanagement.core.windows.net% 2F&api-version=2018-02-01 (Caused by NewConnectionError(': 无法建立新连接: [WinError 10051] A socket operation was trying to an unreachable network',))
有趣的是,如果我在 azure vm 而不是本地开发盒上运行这些行,它会按预期运行。 msiauth 是否需要 Azure VM?
【问题讨论】:
标签: azure-functions azure-managed-identity azure-functions-core-tools