Создать группу потребителей Azure EventHub через Net Core SDK? - PullRequest
0 голосов
/ 17 декабря 2018

В старой библиотеке WindowsAzure.ServiceBus есть вызов CreateConsumerGroupIfNotExists для создания группы потребителей в концентраторе событий Azure.Однако это только Net Framework 4.6.Я пытаюсь понять, как создать потребителя в netstandard2.0 из C #, но я не вижу эквивалента.Есть ли способ сделать это?

Ответы [ 2 ]

0 голосов
/ 16 января 2019

Питер Пэн правильно указал на вызов C # API для этого.Вот некоторые подробности:

  • Создание субъекта службы в Azure (или использование существующего)
  • Предоставление этому субъекту службы "Владелец" доступа кЭкземпляр концентраторов событий (в разделе IAM => «Назначения ролей» на портале)

Переменные в приведенном ниже коде получены от клиента службы, концентратора событий и подписки:

private static async Task EnsureConsumerGroup(string consumerGroupName)
{
    var context = new AuthenticationContext($"https://login.windows.net/{MY_TENANT_ID}");

    var token = await context.AcquireTokenAsync(
        "https://management.core.windows.net/",
        new ClientCredential(MY_CLIENT_ID, MY_CLIENT_SECRET)
    );
    var serviceClientCredentials = new TokenCredentials(token.AccessToken);
    var eventHubManagementClient = new EventHubManagementClient(serviceClientCredentials)
    {
        SubscriptionId = MY_SUBSCRIPTION_ID
    };

    var consumerGroupResponse = await 
eventHubManagementClient.ConsumerGroups.CreateOrUpdateWithHttpMessagesAsync(
        MY_RESOURCE_GROUP_NAME,
        MY_NAMESPACE_NAME,
        MY_EVENT_HUB_NAME,
        consumerGroupName,
        new ConsumerGroup() // I don't know what this parameter is supposed to do.
    );
}

Предположительно, вы также справитесь с ошибкой в ​​consumerGroupResponse.Response.

См. Также:

0 голосов
/ 19 декабря 2018

Как правило, вы можете напрямую использовать REST API Create consumer group для создания EventHubs Consumer Group на любом языке программирования.

В вашем сценарии с использованием C # есть API Azure SDKдля .NET ConsumerGroupsOperationsExtensions.CreateOrUpdate(IConsumerGroupsOperations, String, String, String, String, ConsumerGroup) Method, которые вы можете использовать.И согласно информации из диспетчера пакетов NuGet в Visual Studio 2017, как показано на рисунке ниже, связанный пакет Microsoft.Azure.Management.EventHub поддерживает Netstandard.Library (>=1.6.1), поэтому он также должен поддерживать текущую среду netstandard2.0.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...