[英]Using Azure.Messaging.ServiceBus with SAS token in netstandard2 project
Microsoft.Azure.ServiceBus
package 允許通過 Z2DB46Z358CFB3BDA9A 令牌連接到 Azure Microsoft 建議改用較新的 package Azure.Messaging.ServiceBus
:
但是我找不到在 SAS 令牌的幫助下創建ServiceBusClient
的方法。
有沒有辦法使用 SAS 令牌創建ServiceBusClient
,如果是:如何。 如果不是:通過 SAS 令牌連接到 Azure 的推薦方法是什么? 我是否必須使用過時的Microsoft.Azure.ServiceBus
package? 還有第三個 package 名為WindowsAzure.ServiceBus
但似乎這個需要一個 .NET 框架項目並且不適用於 .NET 標准?
注意:我們不能通過 Azure.Identity 使用身份驗證,因為應該訪問服務總線的用戶不是我們 Azure AD 的一部分,而且永遠不會。
先感謝您。
使用帶有ServiceBusClient
的 SAS 令牌可以通過將 SAS 令牌添加到連接字符串來完成,使用模式SharedAccessSignature=<<SAS>>;
並刪除門戶填充的SharedAccessKey
和SharedAccessKeyName
令牌。
在 7.2.x-beta 行中,還可以使用接受AzureSasCredential
的構造函數指定 SAS 令牌:
var credential = new AzureSasCredential("<< YOUR SAS TOKEN >>");
var fullyQualifiedNamespace =
"<< NAMESPACE (likely similar to {your-namespace}.servicebus.windows.net) >>";
await using var client = new ServiceBusClient(fullyQualifiedNamespace, credential);
如果您能夠使用測試版,我建議您使用憑證,因為它允許您在不創建新客戶端的情況下更新 SAS 令牌,而連接字符串方法不支持。
關於庫, Azure.Messaging.ServiceBus
是當前一代,我們建議在您提到的兩個遺留庫上使用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.