首页 > 解决方案 > 使用 Azure 函数读取具有托管标识的服务总线消息

问题描述

我正在尝试使用托管标识来针对 Azure 服务总线对我的 Azure 函数进行身份验证,但是,我觉得我错过了这个难题的关键部分。我正在使用以下软件包:

<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.ServiceBus" Version="4.2.1" />

函数如下所示:

    [Function("MyFunction")]
    public void Run([ServiceBusTrigger("myqueue", Connection = "")] string message, FunctionContext context)
    {
        var logger = context.GetLogger("MyFunction");
        logger.LogInformation($"C# ServiceBus queue trigger function processed message: {message}");

运行它只是表明连接字符串为空 - 公平地说,它是。但我认为使用托管标识,我可以在不使用连接字符串的情况下验证自己的身份(即,我可以告诉它使用 DefaultAzureCredentials,也许还可以使用命名空间)。

我的假设是否正确?如果是这样,是否有新的/不同的库可供使用?

标签: azureazure-functionsazureservicebusazure-managed-identity

解决方案


正如@user1672994 上面提供的链接,@thomas 在评论部分,我将其转换为答案,以便这可以帮助其他社区成员。

使用 'defaultazurecredentials' 希望可以解决您的问题。


推荐阅读