Развертывание SQL Azure для пограничных вычислений
Важно!
Azure SQL Edge больше не поддерживает платформу ARM64.
SQL Azure для пограничных вычислений — это ядро реляционной базы данных, оптимизированное для развертываний Интернета вещей и Azure IoT Edge. Эта служба предоставляет возможности для создания высокопроизводительного хранилища данных и уровня обработки для приложений и решений Интернета вещей. В этом кратком руководстве описано, как начать работу с создания модуля SQL Azure для пограничных вычислений в Azure IoT Edge с помощью портала Azure.
Подготовка к работе
- Если у вас еще нет подписки Azure, создайте бесплатную учетную запись.
- Войдите на портал Azure.
- Создайте Центр Интернета вещей.
- Создание устройства Azure IoT Edge.
Примечание.
Сведения о развертывании виртуальной машины Linux в Azure в качестве устройства IoT Edge см. в этом кратком руководстве.
Развертывание модуля SQL для пограничных вычислений из Azure Marketplace
Azure Marketplace — это интернет-магазин приложений и служб, где вы можете просматривать разнообразные корпоративные приложения и решения, сертифицированные и оптимизированные для работы в Azure, включая модули IoT Edge. SQL Azure для пограничных вычислений можно развернуть на пограничном устройстве из Marketplace.
Найдите модуль SQL для пограничных вычислений в Azure Marketplace.
Выберите план программного обеспечения, который лучше всего соответствует вашим требованиям, и нажмите кнопку "Создать".
На странице "Целевые устройства для модуля IoT Edge" укажите следующие сведения и нажмите кнопку "Создать".
Поле Description Подписка Подписка Azure, в которой был создан Центр Интернета вещей. Центр IoT Имя центра Интернета вещей, в котором зарегистрировано устройство IoT Edge. Указав его, выберите вариант "Развертывание на устройстве". Имя устройства IoT Edge Имя устройства IoT Edge, где будет развернут экземпляр SQL для пограничных вычислений. На странице "Задать модули" на устройстве выберите модуль SQL Azure edge в разделе "Модули IoT Edge". Имя модуля по умолчанию имеет значение AzureSQLEdge.
В разделе "Модуль Параметры" области "Обновить модуль IoT Edge" укажите требуемые значения для имени модуля IoT Edge, политики перезапуска и требуемого состояния.
Важно!
Не изменяйте или не обновляйте параметры URI образа в модуле.
В разделе "Переменные среды" области "Обновить модуль IoT Edge" укажите требуемые значения переменных среды. Полный список переменных среды SQL Azure для пограничных вычислений см. в статье "Настройка использования переменных среды". Для модуля определены следующие переменные среды по умолчанию.
Параметр Описание MSSQL_SA_PASSWORD Измените значение по умолчанию, чтобы указать надежный пароль для учетной записи администратора SQL для пограничных вычислений. MSSQL_LCID Измените значение по умолчанию, чтобы задать нужный идентификатор языка для использования со SQL для пограничных вычислений. Например, значение 1036 соответствует французскому языку. MSSQL_COLLATION Измените значение по умолчанию, чтобы задать параметры сортировки по умолчанию для SQL для пограничных вычислений. Этот параметр переопределяет заданное по умолчанию сопоставление идентификатора языка (LCID) и параметров сортировки. Важно!
Не изменяйте или не обновляйте
ACCEPT_EULA
переменную среды для модуля.В разделе "Параметры создания контейнера" области "Обновить модуль IoT Edge" обновите следующие параметры в соответствии с требованиями.
Порт узла
Сопоставите указанный порт узла с портом 1433 (портОМ SQL по умолчанию) в контейнере.
Привязки и подключения
Если необходимо развернуть несколько модулей SQL Edge, убедитесь, что вы обновляете параметр подключения, чтобы создать новую исходную и целевую пару для постоянного тома. Дополнительные сведения о подключениях и томах см. в документации По Docker.
{ "HostConfig": { "CapAdd": [ "SYS_PTRACE" ], "Binds": [ "sqlvolume:/sqlvolume" ], "PortBindings": { "1433/tcp": [ { "HostPort": "1433" } ] }, "Mounts": [ { "Type": "volume", "Source": "sqlvolume", "Target": "/var/opt/mssql" } ] }, "Env": [ "MSSQL_AGENT_ENABLED=TRUE", "ClientTransportType=AMQP_TCP_Only", "PlanId=asde-developer-on-iot-edge" ] }
Важно!
Не изменяйте переменную среды, определенную
PlanId
в параметре создания конфигурации. Если это значение изменено, контейнер SQL Azure для пограничных вычислений не запустится.Предупреждение
Если вы переустановите модуль, сначала не забудьте удалить все существующие привязки, в противном случае переменные среды не будут обновлены.
На панели "Обновить модуль IoT Edge" нажмите кнопку "Обновить".
На странице "Задать модули" на устройстве нажмите кнопку "Далее: маршруты > ", если необходимо определить маршруты для развертывания. В противном случае нажмите кнопку "Проверить и создать". Дополнительные сведения см. в разделе Развертывание модулей и объявление маршрутов в IoT Edge.
На странице "Задать модули" на странице устройства нажмите кнопку "Создать".
Подключение к службе SQL Azure для пограничных вычислений
На следующем шаге воспользуемся средством командной строки SQL Azure для пограничных вычислений sqlcmd внутри контейнера для подключения к SQL Azure для пограничных вычислений.
Примечание.
Средства командной строки SQL Server, включая sqlcmd, недоступны в версии ARM64 контейнеров SQL Azure Для пограничных вычислений.
Выполните команду
docker exec -it
, чтобы запустить интерактивную оболочку bash внутри запущенного контейнера. В следующем примере используется имя,AzureSQLEdge
указанное параметромName
модуля IoT Edge.sudo docker exec -it AzureSQLEdge "bash"
После подключения в контейнере подключитесь локально с помощью средства sqlcmd . sqlcmd по умолчанию не указан в пути, поэтому необходимо указать полный путь.
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<YourNewStrong@Passw0rd>"
Совет
Вы можете опустить пароль в командной строке. В этом случае вы получите приглашение для его ввода.
Если все сработает должным образом, вы перейдете к приглашению команды sqlcmd:
1>
.
Создание и запрос данных
В следующих разделах приведено пошаговое руководство по созданию базы данных, добавлению данных и запуску запроса с использованием sqlcmd и Transact-SQL.
Создание базы данных
Выполните следующие шаги, чтобы создать базу данных TestDB
.
В приглашении команды sqlcmd вставьте следующую команду Transact-SQL, чтобы создать тестовую базу данных:
CREATE DATABASE TestDB; GO
В следующей строке напишите запрос, который должен вернуть имена всех баз данных на сервере:
SELECT name from sys.databases; GO
Вставка данных
Затем создайте новую таблицу с именем Inventory
и вставьте две новые строки.
В приглашении команды sqlcmd переключите контекст на новую базу данных
TestDB
:USE TestDB;
Создайте таблицу
Inventory
:CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
Вставьте данные в новую таблицу:
INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
Введите
GO
, чтобы выполнить предыдущие команды:GO
Выбор данных
Теперь выполните запрос, чтобы вернуть данные из таблицы Inventory
.
В приглашении команды sqlcmd введите запрос, который должен вернуть из таблицы
Inventory
строки, где количество превышает 152:SELECT * FROM Inventory WHERE quantity > 152;
Выполните команду:
GO
Выход из приглашения команды sqlcmd
Чтобы завершить сеанс sqlcmd, введите
QUIT
:QUIT
Чтобы выйти из интерактивной командной строки в контейнере, введите команду
exit
. Контейнер продолжит работать после выхода из интерактивной оболочки bash.
Подключение за пределами контейнера
Вы можете подключаться и выполнять запросы к вашему экземпляру SQL Azure для пограничных вычислений с помощью любого внешнего инструмента в Linux, Windows или macOS, поддерживающего подключения SQL. Дополнительные сведения о подключении к контейнеру SQL Edge извне см. в Подключение и запросе Sql Azure Edge.
Из этого краткого руководства вы узнали, как развернуть модуль SQL для пограничных вычислений на устройстве IoT Edge.