繁体   English   中英

从不同的订阅与 Azure 服务总线通信

[英]Communicate to an Azure service bus from a different subscription

我出于学习目的创建了一个服务总线,我想向它传递消息。 我浏览了Microsoft 官方文档,该文档教导如何使用DefaultAzureCredential ,以便使用 Visual Studio 中存储的凭据。

问题是,我已经从我每天使用的工作电子邮件登录到 Visual Studio。 新的服务总线在不同的订阅中,它附在我的个人电子邮件中。

那么,有没有办法让服务总线工作,而无需使用我的个人电子邮件和 CLI 配置登录? DefaultAzureCredential对象的任何替代方案?

示例代码(来自 Microsoft 文档)

ServiceBusClient client;
    
const int numOfMessages = 3;
var clientOptions = new ServiceBusClientOptions
{
    TransportType = ServiceBusTransportType.AmqpWebSockets
};

client = new ServiceBusClient("asb-test.servicebus.windows.net",
            new DefaultAzureCredential(),
            clientOptions);

sender = client.CreateSender("email");
    
using ServiceBusMessageBatch messageBatch = await 
   sender.CreateMessageBatchAsync();
    
var result = messageBatch.TryAddMessage(new ServiceBusMessage($"Message"));

if (!result)
{
    throw new Exception($"The message is too large to fit in the batch.");
}
    
try
{
    await sender.SendMessagesAsync(messageBatch);
    Console.WriteLine($"A batch of {numOfMessages} messages has been published to the queue.");
}
finally
{
     await sender.DisposeAsync();
     await client.DisposeAsync();
}

如果订阅在同一个租户中,这不是问题,您仍然可以轻松分配权限。 但我猜你的意思是潜艇在两个不同的租户中。

您可以尝试将您的工作帐户添加为个人租户中的来宾用户,然后您也应该能够为其分配权限。

暂无
暂无

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

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