Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Внимание
Azure SQL Edge будет прекращена 30 сентября 2025 г. Дополнительные сведения и параметры миграции см. в уведомлении о выходе на пенсию.
Примечание.
Azure SQL Edge больше не поддерживает платформу ARM64.
В части 2 (из 3) этого руководства по прогнозированию примеси железной руды в SQL Azure для пограничных вычислений вы настроите следующие модули IoT Edge:
- SQL Azure для пограничных вычислений
- Модуль генератора данных IoT Edge
Указание учетных данных реестра контейнеров
Необходимо указать учетные данные контейнера для образов модуля, на которых размещены образы модулей. Эти учетные данные можно найти в реестре контейнеров, созданном в группе ресурсов. Перейдите к разделу Ключи доступа. Запишите следующие поля:
- Имя реестра
- Сервер входа
- Имя пользователя
- Пароль
Теперь укажите учетные данные контейнера в модуле IoT Edge.
Перейдите в центр Интернета вещей, созданный в группе ресурсов.
В разделе IoT Edge в разделе "Автоматический Управление устройствами" выберите идентификатор устройства. В этом руководстве используется идентификатор
IronOrePredictionDevice
.Выберите раздел Выбор модулей.
В разделе Учетные данные реестра контейнеров введите следующие значения:
Поле Значение Имя. Имя реестра Адрес Сервер входа Имя пользователя Username Пароль Пароль
Создание, отправка и развертывание модуля генератора данных
Клонируйте файлы проекта на компьютер.
Откройте файл IronOre_Silica_Predict.sln в Visual Studio 2019.
Обновите сведения о реестре контейнеров в файле deployment.template.json.
"registryCredentials": { "RegistryName": { "username": "", "password": "", "address": "" } }
Обновите файл modules.json, чтобы указать целевой реестр контейнеров (или репозиторий для модуля).
"image": { "repository":"samplerepo.azurecr.io/ironoresilicapercent", "tag": }
Выполните проект в режиме отладки или выпуска, чтобы убедиться в отсутствии проблем.
Отправьте проект в реестр контейнеров, щелкнув правой кнопкой мыши имя проекта и выбрав Создать и отправить модули IoT Edge.
Разверните модуль генератора данных в качестве модуля IoT Edge на устройстве Edge.
Развертывание модуля SQL Azure для пограничных вычислений
Разверните модуль Sql Azure, выбрав " + Добавить ", а затем модуль IoT Edge.
Задайте параметры конфигурации на странице "Добавление модулей IoT Edge" для развертывания модуля SQL Azure Для пограничных вычислений. Дополнительные сведения о параметрах конфигурации см. в статье Развертывание SQL Azure для пограничных вычислений.
Добавьте переменную среды
MSSQL_PACKAGE
в развертывание модуля SQL Azure для пограничных вычислений и укажите URL-адрес SAS DACPAC-файла базы данных, созданного на шаге 8 в первой части этого учебника.Выбор обновления
На странице "Задать модули" на устройстве нажмите кнопку "Далее: маршруты>".
В области "Маршруты" на странице Настройка модулей на устройстве: укажите маршруты для связи модуля с центром IoT Edge, как описано ниже. Обязательно обновите имена модулей в следующих определениях маршрутов.
FROM /messages/modules/<your_data_generator_module>/outputs/IronOreMeasures INTO BrokeredEndpoint("/modules/<your_azure_sql_edge_module>/inputs/IronOreMeasures")
Например:
FROM /messages/modules/ASEDataGenerator/outputs/IronOreMeasures INTO BrokeredEndpoint("/modules/AzureSQLEdge/inputs/IronOreMeasures")
На странице "Установка модулей" на устройстве нажмите кнопку "Далее: проверка и создание">
На странице "Установка модулей" на странице устройства нажмите кнопку "Создать"
Создайте и запустите задание потоковой передачи T-SQL в SQL Azure для пограничных вычислений.
Откройте Azure Data Studio.
На вкладке Приветствие запустите новое подключение со следующими сведениями:
Поле значение Connection type Microsoft SQL Server Сервер Общедоступный IP-адрес, упомянутый в виртуальной машине, созданной для этой демо-версии Имя пользователя sa Пароль Надежный пароль, который использовался при создании экземпляра SQL Azure для пограничных вычислений. База данных По умолчанию. Группа серверов По умолчанию. Name (optional) (Имя [необязательно]) Укажите необязательное имя Нажмите Подключиться.
На вкладке меню "Файл" откройте новую записную книжку или используйте сочетание клавиш CTRL+N.
В новом окне запроса выполните приведенный ниже скрипт, чтобы создать задание потоковой передачи T-SQL. Перед выполнением скрипта обязательно измените следующие переменные:
@SQL_SA_Password
: значение, указанноеMSSQL_SA_PASSWORD
при развертывании модуля SQL Azure Edge.
USE IronOreSilicaPrediction; GO DECLARE @SQL_SA_Password VARCHAR(200) = '<SQL_SA_Password>'; DECLARE @query VARCHAR(MAX); /* Create objects required for streaming */ CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'MyStr0ng3stP@ssw0rd'; IF NOT EXISTS ( SELECT name FROM sys.external_file_formats WHERE name = 'JSONFormat' ) BEGIN CREATE EXTERNAL FILE FORMAT [JSONFormat] WITH (FORMAT_TYPE = JSON) END IF NOT EXISTS ( SELECT name FROM sys.external_data_sources WHERE name = 'EdgeHub' ) BEGIN CREATE EXTERNAL DATA SOURCE [EdgeHub] WITH (LOCATION = N'edgehub://') END IF NOT EXISTS ( SELECT name FROM sys.external_streams WHERE name = 'IronOreInput' ) BEGIN CREATE EXTERNAL STREAM IronOreInput WITH ( DATA_SOURCE = EdgeHub, FILE_FORMAT = JSONFormat, LOCATION = N'IronOreMeasures' ) END IF NOT EXISTS ( SELECT name FROM sys.database_scoped_credentials WHERE name = 'SQLCredential' ) BEGIN SET @query = 'CREATE DATABASE SCOPED CREDENTIAL SQLCredential WITH IDENTITY = ''sa'', SECRET = ''' + @SQL_SA_Password + '''' EXECUTE (@query) END IF NOT EXISTS ( SELECT name FROM sys.external_data_sources WHERE name = 'LocalSQLOutput' ) BEGIN CREATE EXTERNAL DATA SOURCE LocalSQLOutput WITH ( LOCATION = 'sqlserver://tcp:.,1433', CREDENTIAL = SQLCredential ) END IF NOT EXISTS ( SELECT name FROM sys.external_streams WHERE name = 'IronOreOutput' ) BEGIN CREATE EXTERNAL STREAM IronOreOutput WITH ( DATA_SOURCE = LocalSQLOutput, LOCATION = N'IronOreSilicaPrediction.dbo.IronOreMeasurements' ) END EXEC sys.sp_create_streaming_job @name = N'IronOreData', @statement = N'Select * INTO IronOreOutput from IronOreInput'; EXEC sys.sp_start_streaming_job @name = N'IronOreData';
Используйте следующий запрос, чтобы убедиться, что данные модуля создания данных передаются в базу данных.
SELECT TOP 10 * FROM dbo.IronOreMeasurements ORDER BY timestamp DESC;
В этом руководстве мы развернули модуль генератора данных и модуль SQL Azure для пограничных вычислений. Затем мы создали задание потоковой передачи, чтобы передать данные, созданные модулем создания данных, в SQL.