【问题标题】:Service Bus Connection String using the Azure.ServiceBus.Messaging C# SDK for SAS token使用 Azure.ServiceBus.Messaging C# SDK for SAS 令牌的服务总线连接字符串
【发布时间】:2022-01-15 00:00:53
【问题描述】:

我正在尝试从旧版 Azure 服务总线 SDK 迁移到新的“Azure.Messaging.ServiceBus”。但似乎不支持旧功能中的许多功能。如何使用给定的 Sas 令牌生成服务总线连接字符串?较旧的可以使用“ServiceBusConnectionBuilder”。 (https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.servicebus.servicebusconnectionstringbuilder.-ctor?view=azure-dotnet#Microsoft_Azure_ServiceBus_ServiceBusConnectionStringBuilder__ctor_System_String_) .如何使用最新的 SDK 做同样的事情?

【问题讨论】:

    标签: azure azureservicebus azure-sdk-.net


    【解决方案1】:

    要使用 SAS 令牌,我们建议您使用接受 AzureSasCredential 而不是连接字符串的 overload 构造 ServiceBusClient。这样做的好处是允许更新 SAS 令牌,而无需销毁和重新创建客户端。

    例如:

    var credential = new AzureSasCredential("<< SHARED ACCESS KEY STRING >>");
    var fullyQualifiedNamespace = "<< NAMESPACE (likely similar to {your-namespace}.servicebus.windows.net) >>";
    
    await using var client = new ServiceBusClient(fullyQualifiedNamespace, credential);
    
    // ...
    

    虽然我们不推荐或宣传它,但连接字符串中支持SharedAccessSignature 令牌,导致类似:

    "Endpoint=sb://<<namespace-name>>.servicebus.windows.net;SharedAccessSignature=<<SAS TOKEN>>"
    

    【讨论】:

    • 但是您刚刚分享并公开了它......为什么不在文档中正确地做呢? ?
    • 有些决定不是我能做的……
    • 如果有合适的位置,我很乐意添加我的 ?。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-20
    • 1970-01-01
    • 1970-01-01
    • 2020-12-10
    • 1970-01-01
    • 1970-01-01
    • 2019-04-27
    相关资源
    最近更新 更多