簡體   English   中英

使用 azure-messaging-servicebus 創建具有授權規則的主題

[英]Create a topic with authorization rule using azure-messaging-servicebus

我正在嘗試使用通過命名空間的根管理訪問密鑰連接的 ServiceBusAdministrationClient 創建主題 (com.azure:azure-messaging-servicebus:7.8.0)

def createOptions = new CreateTopicOptions()
def authRule = new SharedAccessAuthorizationRule(authRuleName, [AccessRights.SEND, AccessRights.LISTEN])
createOptions.authorizationRules.add(authRule)
def topicProps = administrationClient.createTopic(topicName, createOptions)

但是沒有與該主題關聯的 AuthorizationRules。 我在創建隊列時做了同樣的事情並且它起作用了。 任何想法我可能會錯過什么?

對於授權規則,需要使用Azure資源管理庫下面是創建授權規則的示例

final AzureProfile profile = new AzureProfile(AzureEnvironment.AZURE);

final TokenCredential credential =
    new DefaultAzureCredentialBuilder()
        .authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint())
        .build();

var azureResourceManager =
    AzureResourceManager.configure()
        .withLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS)
        .authenticate(credential, profile)
        .withSubscription("subscription");

ServiceBusManager manager = azureResourceManager.serviceBusNamespaces().manager();

SBAuthorizationRuleInner authorizationRule =
    manager
        .serviceClient()
        .getTopics()
        .createOrUpdateAuthorizationRule(
            "resourceGroupName", "namespaceName", "topicName", "authorizationRuleName");

有兩種不同的方法可以完成所需的事情。

  1. Azure 活動目錄 (ADD) - AuthorizationRules
  2. 共享訪問簽名。 共享訪問簽名

對於要遵循的一系列步驟,有一份專業文檔。

教程:使用 Azure 門戶和主題/訂閱更新庫存

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM