繁体   English   中英

Azure Azure 服务总线的托管身份 java sdk

[英]Azure managed identity for Azure service bus with java sdk

如何使用 java 中的 Azure 托管身份向主题发送消息? 现在我正在使用 connectionString 将消息发送到主题。

   ServiceBusSenderClient senderClient = new ServiceBusClientBuilder()
       .connectionString(connectionString)
       .sender()
       .topicName(topicName)
       .buildClient();

在Azure SDK for java中,我只能找到这个例子,它是服务总线队列

ServiceBusSenderAsyncClient sender = new ServiceBusClientBuilder()
           .credential("<<fully-qualified-namespace>>", credential)
           .sender()
           .queueName("<<queue-name>>")
           .buildAsyncClient();

您的第二个片段大部分是正确的; 您错过了创建要传递给构建器的凭据的步骤。 这在概述的使用 DefaultAzureCredential 授权部分进行了讨论,如下所示:

TokenCredential credential = new DefaultAzureCredentialBuilder()
    .build();

ServiceBusReceiverAsyncClient receiver = new ServiceBusClientBuilder()
    .credential("<<fully-qualified-namespace>>", credential)
    .receiver()
    .queueName("<<queue-name>>")
    .buildAsyncClient();

服务总线可以使用任何Azure.Identity 凭据进行授权。 演示DefaultAzureCredentialBuilder只是因为它是一个链式凭证,可以在各种场景中取得成功。 可以在Azure.Identity 概述中找到更多信息。

如果您希望将授权仅限于托管标识,则可以使用ManagedIdentityCredentialBuilder而不是默认凭据来实现。 可以在此处找到创建的示例。 然后可以将其以与默认凭据相同的方式传递给服务总线。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM