Поделиться через


Прием данных из Центров событий в Azure Synapse Data Explorer

Azure Synapse Data Explorer — это быстрая и высокомасштабируемая служба для изучения данных журналов и телеметрии. Azure Synapse Data Explorer позволяет принимать (загружать) данные из Центров событий, Центра Интернета вещей и больших двоичных объектов, записанных в контейнеры больших двоичных объектов.

Azure Synapse Data Explorer позволяет выполнять прием (загрузку) данных из Центров событий, платформы потоковой передачи больших данных и службы приема данных событий. Центры событий могут обрабатывать миллионы событий в секунду практически в режиме реального времени. В этой статье вы создадите центры событий, подключитесь к нему из Azure Synapse Data Explorer и просмотрите поток данных через систему.

Необходимые компоненты

  • Подписка Azure. Создайте бесплатную учетную запись Azure.

  • Создать пул Data Explorer с помощью Synapse Studio или портала Azure

  • Создать базу данных Data Explorer.

    1. В Synapse Studio в области слева выберите элемент Данные.

    2. Выберите + (Добавить новый ресурс) >Пул Data Explorer, а затем используйте следующие сведения:

      Параметр Предлагаемое значение Description
      Имя пула contosodataexplorer Имя пула Data Explorer, который вы будете использовать.
      Имя. TestDatabase Имя базы данных должно быть уникальным в пределах кластера.
      Срок хранения по умолчанию 365. Интервал времени (в днях), в течение которого данные будут гарантированно доступны для запросов. Интервал времени измеряется с момента приема данных.
      Период кэширования по умолчанию 31 Интервал времени (в днях), в течение которого необходимо хранить часто запрашиваемые данные в хранилище SSD или ОЗУ, а не в долговременном хранилище.
    3. Чтобы создать базу данных, выберите Создать. Создание обычно занимает меньше минуты.

  • Создайте целевую таблицу, в которую Центры событий будут отправлять данные

    1. В Synapse Studio в области слева выберите элемент Разработка.

    2. В разделе Скрипты KQL выберите + (Добавить новый ресурс) >Скрипт KQL. В области справа можно присвоить имя вашему сценарию.

    3. В меню Подключение к выберите contosodataexplorer.

    4. В меню Использование базы данных выберите TestDatabase.

    5. Вставьте следующую команду и выберите Выполнить, чтобы создать таблицу.

      .create table TestTable (TimeStamp: datetime, Name: string, Metric: int, Source:string)
      

      Совет

      Убедитесь, что таблица была успешно создана. В области слева выберите Данные, откройте дополнительное меню contosodataexplorer и выберите Обновить. В разделе contosodataexplorer разверните элемент Таблицы и убедитесь, что в списке присутствует таблица TestTable.

    6. Скопируйте следующую команду в окно и выберите Выполнить для сопоставления входящих данных JSON с именами столбцов и типами данных таблицы (TestTable).

      .create table TestTable ingestion json mapping 'TestMapping' '[{"column":"TimeStamp", "Properties": {"Path": "$.timeStamp"}},{"column":"Name", "Properties": {"Path":"$.name"}} ,{"column":"Metric", "Properties": {"Path":"$.metric"}}, {"column":"Source", "Properties": {"Path":"$.source"}}]'
      
  • Для подключения к данным рекомендуется использовать управляемое удостоверение, назначаемое пользователем, или управляемое удостоверение, назначенное системой.

  • Пример приложения, создающего данные и отправляющего их в концентратор событий. Загрузите пример приложения в систему.

  • Visual Studio 2019 для запуска примера приложения.

Войдите на портал Azure

Войдите на портал Azure.

Создание концентратора событий

Создайте концентратор событий на портале Azure с помощью шаблона Azure Resource Manager.

  1. Нажмите следующую кнопку, чтобы начать развертывание и создание концентратора событий. Чтобы закончить выполнение инструкций из этой статьи, щелкните правой кнопкой мыши и выберите ссылку Открыть в новом окне.

    Кнопка для развертывания шаблона Resource Manager в Azure.

    Нажав кнопку Развернуть в Azure, вы перейдете на портал Azure.

  2. Выберите подписку, в которой нужно создать концентратор событий, и создайте группу ресурсов с именем test-hub-rg.

    Создание или изменение группы ресурсов

  3. Заполните форму, указав следующую информацию.

    Используйте значения по умолчанию для всех параметров, отсутствующих в следующей таблице.

    Параметр Рекомендуемое значение Описание поля
    Отток подписок Ваша подписка Выберите подписку Azure, которую вы хотите использовать для центров событий.
    Группа ресурсов test-hub-rg Создание группы ресурсов
    Расположение Западная часть США Для работы над этой статьей выберите Западная часть США. Для производственной системы выберите регион, лучше всего соответствующий вашим потребностям. Создайте пространство имен Центров событий в том же расположении, что и кластер Azure Synapse Data Explorer, чтобы обеспечить лучшую производительность (самое важное для пространств имен Центров событий с высокой пропускной способностью).
    Имя пространства имен Уникальное имя пространства имен Выберите уникальное имя, идентифицирующее пространство имен. Например, mytestnamespace. К введенному имени добавляется имя домена servicebus.windows.net. Имя может содержать только буквы, цифры и дефисы. Имя должно начинаться с буквы или цифры и заканчиваться буквой или цифрой. Длина значения в символах должна быть от 6 до 50.
    Имя Центров событий test-hub Центры событий располагаются под пространством имен, которое предоставляет уникальный контейнер области. Имя Центров событий должно быть уникальным в пространстве имен.
    Имя группы потребителей test-group Группы получателей событий позволяют каждому из нескольких получающих события приложений иметь отдельное представление потока событий.
  4. Выберите Review + create (Просмотреть и создать).

  5. Просмотрите сводку созданных ресурсов. Выберите Создать, что подтверждает создание ресурсов в вашей подписке.

    Снимок экрана: портал Azure для просмотра и создания пространства имен Центров событий, Центров событий и группы потребителей.

  6. На панели инструментов щелкните Уведомления, чтобы отслеживать процесс подготовки. Успешное выполнение развертывания может занять несколько минут, но теперь можно перейти к следующему шагу.

    Значок уведомлений

Рекомендации по проверке подлинности

В зависимости от типа удостоверения, который используется для проверки подлинности в Центрах событий, может потребоваться несколько других конфигураций.

  • Если вы выполняете проверку подлинности с помощью центров событий с помощью управляемого удостоверения, назначаемого пользователем, перейдите в сеть Центров >событий, а затем в разделе "Разрешить доступ" выберите "Все сети" и сохраните изменения.

    Снимок экрана: страница сети Центров событий, на которой показан выбор разрешения доступа ко всем сетям.

  • Если вы выполняете проверку подлинности с помощью управляемых центров событий, назначаемого системой, перейдите в сеть Центров >событий, а затем разрешите доступ из всех сетей или в разделе "Разрешить доступ из", выберите "Выбранные сети", выберите "Разрешить доверенные службы Майкрософт" для обхода этого брандмауэра и сохранения изменений.

    Снимок экрана: страница сети Центров событий, на которой показан выбор разрешения доступа к доверенным службам.

Подключение к центрам событий

Теперь вы подключаетесь к центрам событий из пула Обозревателя данных. Если это подключение установлено, данные, которые передаются в потоки Центров событий в тестовую таблицу, созданную ранее в этой статье.

  1. Выберите уведомления на панели инструментов, чтобы убедиться, что развертывание Центров событий выполнено успешно.

  2. В созданном пуле Azure Data Explorer выберите Databases>TestDatabase.

    Снимок экрана: пул тестовой базы данных, показывающий выбор тестовой базы данных.

  3. Выберите Подключение к базе данных и Добавить подключение к данным.

    Выберите прием данных и добавьте подключение к данным.

Создание подключения к данным (предварительная версия)

Заполните форму, указав следующую информацию, а затем нажмите кнопку Создать.

Снимок экрана: область подключения к данным в Центрах событий.

Параметр Рекомендуемое значение Описание поля
Имя подключения к данным test-hub-connection Имя подключения, которое вы хотите создать в Azure Synapse Data Explorer.
Отток подписок Идентификатор подписки, в которой размещается ресурс Центров событий. Это поле заполняется автоматически.
Пространство имен Центров событий Уникальное имя пространства имен Имя, выбранное ранее и определяющее пространство имен.
Event Hubs test-hub Созданные центры событий.
Группа потребителей test-group Группа потребителей, определенная в созданных центрах событий.
Свойства системы событий Выбор необходимых свойств Системные свойства Центров событий. Если на каждое сообщение о событии приходится несколько записей, системные свойства будут добавляться к первой из них. При добавлении системных свойств выполните создание или обновление схемы таблицы, а также сопоставление, чтобы добавить выбранные свойства.
Сжатие Не допускается Тип сжатия полезных данных сообщений Центров событий. Поддерживаемые типы сжатия: нет, GZip.
Управляемое удостоверение Назначаемое системой Управляемое удостоверение, используемое кластером Data Explorer для доступа к чтению из Центров событий.

Примечание.
При создании нового подключения к данным:
- назначаемые системой удостоверения создаются автоматически, если еще не существуют;
Управляемому удостоверению автоматически назначается роль приемника данных Центров событий Azure, которая добавляется в кластер Data Explorer. Рекомендуется проверить, назначена ли роль и добавлено ли удостоверение в кластер.

Целевая таблица

Существуют два варианта маршрутизации принятых данных: статическая и динамическая. В этой статье используется статическая маршрутизация, для которой нужно указать имя таблицы, формат данных и сопоставление в качестве значений по умолчанию. Если сообщение Центров событий содержит сведения о маршрутизации данных, эти сведения переопределят параметры по умолчанию.

  1. Заполните следующие параметры маршрутизации:

    Параметры маршрутизации по умолчанию для приема данных в Центры событий — Azure Synapse Data Explorer.

    Параметр Рекомендуемое значение Описание поля
    Имя таблицы TestTable Таблица, созданная в базе данных TestDatabase.
    Формат данных JSON Поддерживаются форматы: Avro, CSV, JSON, MULTILINE JSON, ORC, PARQUET, PSV, SCSV, SOHSV, TSV, TXT, TSVE, APACHEAVRO и W3CLOG.
    Сопоставление TestMapping Сопоставление, созданное в таблице TestDatabase, которое сопоставляет входящие данные с именами столбцов и типами данных TestTable. Является обязательным для JSON, MULTILINE JSON и AVRO и необязательным для других форматов.

    Примечание.

    • Вы не обязаны указывать все значения для параметров маршрутизации по умолчанию. Принимаются также частично заполненные параметры.
    • Принимаются только события, поставленные в очередь после создания подключения к данным.
  2. Нажмите кнопку создания.

Сопоставление свойств системы событий

Примечание.

  • Системные свойства поддерживаются для json и табличных форматов (csv, tsv и т. д.) и не поддерживаются для сжатых данных. При использовании неподдерживаемого формата данные по-прежнему будут приняты, но свойства будут игнорироваться.
  • Для табличных данных системные свойства поддерживаются только для сообщений о событиях с одной записью.
  • Для данных JSON системные свойства также поддерживаются для сообщений о событиях с несколькими записями. В таких случаях системные свойства добавляются только к первой записи сообщения о событии.
  • При сопоставлении в формате csv свойства добавляются в начало записи в порядке, определенном в таблице Системные свойства.
  • При сопоставлении в формате json свойства добавляются в соответствии с именами свойств, указанных в таблице Системные свойства.

Если вы выбрали в разделе Источник данных таблицы пункт Свойства системы событий, необходимо добавить системные свойства в схему и сопоставление таблицы.

Копирование строки подключения

При запуске примера приложения, указанного в предварительных требованиях, вам потребуется строка подключения для пространства имен Центров событий.

  1. В созданном пространстве имен Центров событий выберите политики общего доступа, а затем RootManageSharedAccessKey.

    Политики общего доступа.

  2. Скопируйте значение в поле Строка подключения — первичный ключ. Вставьте его при работе со следующим разделом.

    Строка подключения.

Создание примера данных

Используйте пример приложения, загруженный для создания данных.

Предупреждение

В этом примере используется строка подключения аутентификация для подключения к Центрам событий для простоты примера. Однако жесткое программирование строка подключения в скрипте требует очень высокой степени доверия к приложению и несет риски безопасности.

Для долгосрочных безопасных решений используйте один из следующих вариантов:

  1. Откройте решение для примера приложения в Visual Studio.

  2. В файле program.cs обновите eventHubName константу до имени центров событий и обновите константу connectionString до строка подключения, скопированной из пространства имен Центров событий.

    const string eventHubName = "test-hub";
    // Copy the connection string ("Connection string-primary key") from your Event Hub namespace.
    const string connectionString = @"<YourConnectionString>";
    
  3. Выполните сборку и запустите приложение. Приложение отправляет сообщения в Центры событий и выводит его состояние каждые 10 секунд.

  4. После отправки нескольких сообщений перейдите к следующему шагу: просмотрите поток данных в центры событий и тестовую таблицу.

Просмотр потока данных

С помощью данных, создаваемых приложением, теперь можно увидеть поток этих данных из Центров событий в таблицу в кластере.

  1. В портал Azure в центрах событий вы увидите пик активности во время работы приложения.

    Граф концентратора событий.

  2. Чтобы проверить, сколько сообщений поступило в базу данных к этому моменту, выполните следующий запрос в тестовой базе данных.

    TestTable
    | count
    
  3. Чтобы увидеть содержимое сообщений, выполните следующий запрос:

    TestTable
    

    Набор результатов должен выглядеть следующим образом:

    Результирующий набор сообщений.

    Примечание.

    • В Azure Synapse Data Explorer настроена политика агрегирования (пакетной обработки) для приема данных, которая предназначена для оптимизации приема. Политика пакетной обработки по умолчанию настроена на запечатывание пакета при выполнении одного из следующих условий: превышено максимальное время задержки в 5 минут, превышен общий размер в 1 ГБ или превышено количество в 1000 больших двоичных объектов. В связи с этим может возникнуть задержка. Дополнительные сведения см. на странице о политике пакетной обработки.
    • Прием данных концентратора событий содержит время отклика концентратора событий, равное 10 секундам или 1 МБ.
    • Настройте таблицу таким образом, чтобы она поддерживала потоковую передачу и устраняла задержку во времени отклика. См. статью Политика потоковой передачи.

Очистка ресурсов

Если вы еще не планируете использовать центры событий, очистите test-hub-rg, чтобы избежать затрат.

  1. На портале Azure выберите Группа ресурсов слева, а затем созданную группу ресурсов.

    Если меню слева свернуто, выберите Кнопка «Развернуть». его, чтобы развернуть его.

    Выбор удаляемой группы ресурсов.

  2. В разделе test-resource-group выберите Удалить группу ресурсов.

  3. В новом окне введите имя удаляемой группы ресурсов (test-hub-rg) и нажмите кнопку Удалить.

Следующие шаги