Создайте политику служебной шины Azure с несколькими утверждениями в библиотеках управления Azure для .NET.

Я использую библиотеки управления Azure для .NET со служебной шиной Azure. Моя цель — создать политику общего доступа с утверждениями Send и Listen. Я могу сделать это на портале Azure.

Политика, созданная на портале Azure

IServiceBusNamespace serviceBus = ...
IBlank policyDefinition = serviceBus.AuthorizationRules.Define("MySendAndListenPolicy2");

Из IBlank я могу позвонить WithListeningEnabled() или WithSendingEnabled(). Оба возвращают IWithCreate, из которых я могу только создать правило (т. е. Create() и CreateAsync()). Кажется, нет возможности настроить как Отправить, так и Прослушать.

Как создать политику с Отправить и Прослушать с помощью пакета SDK для управления Azure .NET?


person Brent Robinson    schedule 26.11.2018    source источник


Ответы (1)


Я добился этого, используя объекты Inner в Fluent API.

// using Microsoft.Azure.Management.Fluent;
// using Microsoft.Azure.Management.ServiceBus.Fluent;
// using Microsoft.Azure.Management.ServiceBus.Fluent.Models;

string policyName = "ListenAndSendPolicy";

// Define the claims
IList<AccessRights?> rights = new List<AccessRights?>();
rights.Add(AccessRights.Send);
rights.Add(AccessRights.Listen);

// Create the rule
SharedAccessAuthorizationRuleInner rule = await serviceBus.AuthorizationRules.Inner.CreateOrUpdateAuthorizationRuleAsync(
    serviceBus.ResourceGroupName,
    serviceBus.Name,
    policyName,
    rights);

// Get the policy
policy = await serviceBus.AuthorizationRules.GetByNameAsync(policyName);

Это успешно создало политику

введите здесь описание изображения

person Brent Robinson    schedule 26.11.2018