Запись в таблицу базы данных Azure SQL из заданий Azure Stream Analytics
Azure Stream Analytics поддерживает Базу данных SQL Azure в качестве приемника для выходных данных потокового запроса. В этой статье объясняется, как назначить Базу данных SQL для приема выходных данных задания Stream Analytics, используя портал Azure.
Предварительные требования
создание задания Stream Analytics;
Создайте Базу данных SQL Azure, в которую будет записывать выходные данные ваше задание Stream Analytics.
Запись в новую таблицу Базы данных SQL
В этом разделе описывается, как настроить запись результатов задания в таблицу Базы данных Azure SQL, которая еще не создана.
В задании Stream Analytics в разделе Топология задания выберите Выходные данные. Нажмите кнопку Добавить и выберите База данных SQL.
Выберите псевдоним приемника, который будет использоваться в запросе задания. Укажите имя базы данных и режим проверки подлинности. Изучите доступные варианты конфигурации SQL для выходных данных.
Введите имя таблицы, которую нужно создать в Базе данных SQL Azure. Нажмите Сохранить. Примечание. Сохранение данных о приемнике не приводит к созданию таблицы в Базе данных SQL. Дополнительные сведения о создании таблицы приводятся в описании следующих шагов.
Выберите Запрос в разделе Топология задания и используйте укажите в запросе псевдоним, чтобы записать выходные данные в таблицу с именем, которое вы предоставили на предыдущем шаге. Нажмите кнопку Тестировать запрос, чтобы проверить логику запроса и изучить Результаты теста, где представлена схема выходных данных, которые будут созданы этим заданием. Примечание. Чтобы протестировать запрос, входные данные потоковой передачи должны присутствовать в источнике входных данных, или должны быть отправлены отдельно, в виде примера для тестирования запроса. Дополнительные сведения о тестировании запроса Stream Analytics см. в разделе Тестирование запроса.
Щелкните схему таблицы SQL, чтобы выяснить имя и тип столбца. Щелкните Создать таблицу, и таблица будет создана в Базе данных SQL.
Если вы измените запрос Stream Analytics так, что он будет возвращать другую схему, вам придется соответствующим образом изменить определение таблицы в Базе данных SQL. Это избавит вас от ошибок в задании Stream Analytics, вызванных неверным преобразованием данных при попытке записи в приемник.
Когда запрос будет готов, щелкните Обзор и Запуск для задания. Затем перейдите к таблице в Базе данных SQL и проверьте выходные данные потокового запроса.
Выбор существующей таблицы из Базы данных SQL
В этом разделе описывается, как настроить запись результатов задания в таблицу, которая уже существует в Базе данных Azure SQL.
В задании Stream Analytics в разделе Топология задания выберите Выходные данные. Нажмите кнопку Добавить и выберите База данных SQL.
Выберите псевдоним приемника, который будет использоваться в запросе задания. Укажите имя базы данных и режим проверки подлинности. Изучите доступные варианты конфигурации SQL для выходных данных.
Вы можете выбрать существующую таблицу из выбранной Базы данных SQL, введя сведения о проверке подлинности SQL. Это действие приведет к загрузке списка имен таблиц из базы данных. Выберите нужно имя из списка или введите вручную, затем щелкните Сохранить.
Выберите Запрос в разделе Топология задания и укажите имя псевдонима в запросе, чтобы записать выходные данные в выбранную таблицу. Щелкните Тестовый запрос, чтобы проверить логику запроса и просмотреть Результаты теста. Примечание. Чтобы протестировать запрос, входные данные потоковой передачи должны присутствовать в концентраторе событий или в Центре Интернета вещей, или должны быть отправлены отдельно, в виде примера для тестирования запроса. Дополнительные сведения о тестировании запроса Stream Analytics см. в разделе Тестирование запроса.
На вкладке Схема таблицы SQL вы увидите имя и тип столбца, используемые во входящих данных и в выбранной таблице. Также здесь указано, совпадают ли типы данных во входящих данных и в выбранной таблице SQL. Если они не совпадают, вам будет предложено изменить запрос, чтобы он соответствовал схеме таблицы.
Когда запрос будет готов, щелкните Обзор и Запуск для задания. Затем перейдите к таблице в Базе данных SQL и проверьте выходные данные потокового запроса.
Типичные причины несоответствия типов данных
Важно следить за тем, чтобы формат выходных данных задания Stream Analytics соответствовал именам столбцов и типам данных, которые ожидаются для таблицы в Базе данных SQL. Несоответствие приведет к ошибкам преобразования данных в задании и многократным повторным попыткам, пока вы не исправите определение таблицы SQL. Вы можете изменить поведение задания, чтобы просто отбрасывать выходные данные, которые приводят к ошибкам преобразования данных, и продолжать запись без ошибок. Ниже описаны наиболее распространенные причины, приводящие к несоответствию схем данных.
- Несоответствие типов: типы в запросе и в приемнике несовместимы. Ни одна строка не будет добавлена в приемник. Используйте функцию преобразования, например TRY_CAST(), для выравнивания типов в запросе. Также можно изменить определение целевой таблицы в Базе данных SQL.
- Диапазон: диапазон целевого типа значительно меньше, чем используемый в запросе. В целевую таблицу могут не добавляться строки, в которых значения выходят за пределы целевого диапазона. Постарайтесь изменить целевой столбец, указав тип с более широким диапазоном значений.
- Неявное преобразование: типы в запросе и в приемнике отличаются, но являются совместимыми. Данные будут неявно преобразованы, что может привести к потере данных или сбою задания. Используйте функцию преобразования, например TRY_CAST(), чтобы согласовать типы в запросе, или измените целевую таблицу.
- Запись: используемый тип пока не поддерживается для этих выходных данных. Такое значение будет заменено строкой "record". Попробуйте настроить предварительный анализ данных или преобразуйте значение в строку с помощью определяемой пользователем функции.
- Массив: этот тип пока не поддерживается в Базе данных SQL Azure. Такое значение будет заменено строкой "record". Попробуйте настроить предварительный анализ данных или преобразуйте значение в строку с помощью определяемой пользователем функции.
- Столбец отсутствует в целевой таблице: предоставленный столбец отсутствует в целевой таблице. Такие данные не будут добавлены. Если этот столбец вам нужен, добавьте его в целевую таблицу.
Дальнейшие действия
- Использование эталонных данных SQL в качестве источника входных данных
- Справочник по языку запросов Azure Stream Analytics
- Примеры запросов для распространенных шаблонов использования Stream Analytics
- Общие сведения о входных данных Azure Stream Analytics
- Описание выходных данных из Azure Stream Analytics