1

我正在尝试以下代码来检查 Azure 服务总线主题订阅是否已存在:

void Initialize()
{
    CreateTopicSubscription().Wait();
    //CreateTopicSubscription().GetAwaiter().GetResult();
}

async Task CreateTopicSubscription()
{
    managementClient = new ManagementClient(serviceBusConnectionString);
    if (!await managementClient.QueueExistsAsync(queueName).ConfigureAwait(false))
    { /* do some logic */ }
    if (!await managementClient.SubscriptionExistsAsync(queueName, "subscriptionName1"))
    {
        await managementClient.CreateSubscriptionAsync(new SubscriptionDescription(queueName, "subscriptionName1"));
    }
}

我收到以下错误SubscriptionExistsAsync

Microsoft.Azure.ServiceBus.ServiceBusException:'指定的 HTTP 谓词 (GET) 无效。要了解更多信息,请访问 https://aka.ms/sbResourceMgrExceptions。. TrackingId:aa8b87cc-ea45-4fdc-be39-bf1877774b0e_G24,SystemTracker:needspacetests:队列:sc-messenger,时间戳:2019-12-18T11:33:45'

我在这里做错了什么/错过了什么?

笔记:

  • 我在基本计划中使用新创建的 Azure 服务总线和新(手动)创建的队列。
  • queueName具有现有队列的值。
4

1 回答 1

1

我在基本计划中使用新创建的 Azure 服务总线

基本层没有主题和订阅。如果您需要使用主题和订阅,则应切换到标准层。

于 2019-12-18T17:04:23.820 回答