Подписка на сетку событий для Event Hub для загрузки журналов в конкретном разделе - PullRequest
0 голосов
/ 31 мая 2018

При создании подписки на сетку событий и использовании концентратора событий в качестве конечной точки невозможно указать идентификатор раздела, которому следует отправлять все сообщения.Возможно ли это через Webhook?Я обнаружил, что это возможно через Rest API, смотрите здесь.Он использует следующий URL.https://{serviceNamespace}.servicebus.windows.net/{eventHubPath}/publishers/{deviceId}/messages. Я пытаюсь передать эти события в центр событий.но я хочу, чтобы эти события были включены в определенный раздел в концентраторе событий.Возможно ли это через подписку на событие (возможно, передавая deviceid в качестве параметра)?Или есть какой-либо другой способ настроить подписку на событие, чтобы направить эти события на определенный ID-идентификатор в концентраторе событий.

Я использую nodejs для написания кода без сервера и создаю подписку на сетку событий через портал Azure.

PS Я подтвердил от службы поддержки Azure, что эта функция в настоящее время не поддерживается, и необходимо использовать функцию Azure для перенаправления событий на определенный ID раздела.

1 Ответ

0 голосов
/ 31 мая 2018

минимальная интеграция - использование функции EventGridTrigger с привязкой вывода к EventHub, см. Следующую реализацию:

#r "Newtonsoft.Json"
#r "Microsoft.ServiceBus"

using System;
using System.Text;
using Newtonsoft.Json;
using Microsoft.ServiceBus.Messaging;

public static void Run(string eventGridEvent, ICollector<EventData> collector, TraceWriter log)
{
    log.Info(eventGridEvent);

    EventData ed = new EventData(new MemoryStream(Encoding.UTF8.GetBytes(eventGridEvent))) { PartitionKey="myPartition"};
    collector.Add(ed);
}

и файл function.json:

    {
      "bindings": [
      {
        "type": "eventGridTrigger",
        "name": "eventGridEvent",
        "direction": "in"
    },
    {
        "type": "eventHub",
        "name": "collector",
        "connection": "myEventHubConnectionString",
        "path": "myEventHubName",
        "direction": "out"
    }
  ],
  "disabled": false
 }

Также вы можете использовать функцию HttpTrigger, но функция должна обрабатывать сообщение проверки.

...