我正在尝试查找有关如何在Function App绑定中设置连接字符串的信息,以便该应用程序使用托管身份来访问事件中心和其他资源。通过获得文档中所述的访问令牌,我可以在其他应用程序中使用托管身份。
在使用资源绑定上的连接设置的配置变量名称的功能应用程序中,这如何工作?
此文件记录在某处吗?
答案 0 :(得分:1)
简短的答案应该是我们不能在函数绑定中使用托管身份访问令牌。
Connection需要事件中心绑定到事件中心名称空间的连接字符串,使用托管身份获取的令牌无效。在Azure Function中,我们以与在其他应用程序中相同的方式使用访问令牌,这里是tutorial。
答案 1 :(得分:0)
我今天对其进行了测试,以连接到服务总线队列。连接字符串为:
Endpoint=sb://<service-bus-resource>.servicebus.windows.net;Authentication=ManagedIdentity;
我在此博客上找到了它:
https://blog.darkloop.com/post/using-service-app-managed-identity-with-azure-functions-service-bus-bindings。我的项目正在使用Microsoft.Azure.ServiceBus 4.1.1
,因此我不需要做任何特别的事情。
但是请查看此博客文章中的评论-有人说这不适用于消费计划。这里提到了另一个潜在的问题: https://feedback.azure.com/forums/355860-azure-functions/suggestions/37907848-support-for-azure-managed-service-identities-in-ev
请注意,Arturo在帖子中捕获的行为是 被SDK团队认为是无意的,并在以后的版本中将其删除 版本更新。我们正在与他们合作,以使其正式 支持,但目前该帖子中的说明可能不再 工作。
所以我不确定是否应该使用它。