[英]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.