Развертывание 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 с помощью Центр Интернета вещей
Пограничный сервер SQL Azure можно развернуть с помощью инструкций из модулей развертывания из портал Azure. Универсальный код ресурса (URI) образа для Пограничных вычислений SQL mcr.microsoft.com/azure-sql-edge:latest
Azure.
На странице "Добавление модуля IoT Edge" укажите требуемые значения для имени модуля IoT Edge, URI образа, политики перезапуска и требуемого состояния.
Используйте следующий URI образа в зависимости от выпуска, который требуется развернуть:
- Выпуск разработчика -
mcr.microsoft.com/azure-sql-edge/developer
- Выпуск Premium -
mcr.microsoft.com/azure-sql-edge/premium
- Выпуск разработчика -
В разделе "Переменные среды" на странице "Добавление модуля IoT Edge" укажите требуемые значения переменных среды. Полный список переменных среды SQL Azure для пограничных вычислений см. в статье "Настройка использования переменных среды".
Параметр Описание ACCEPT_EULA Задайте для этого значения, чтобы Y
принять соглашение о лицензировании конечных пользователейMSSQL_SA_PASSWORD Задайте значение, чтобы указать надежный пароль для учетной записи администратора SQL Edge. MSSQL_LCID Задайте значение для задания требуемого идентификатора языка, используемого для SQL Edge. Например, значение 1036 соответствует французскому языку. MSSQL_COLLATION Задайте значение, чтобы задать параметры сортировки по умолчанию для SQL Edge. Этот параметр переопределяет заданное по умолчанию сопоставление идентификатора языка (LCID) и параметров сортировки. В разделе "Параметры создания контейнера" на странице "Добавление модуля 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
Задайте переменную среды на основе установленного выпуска.- Выпуск разработчика -
asde-developer-on-iot-edge
- Выпуск Premium -
asde-premium-on-iot-edge
Если это значение задано неправильно, не удается запустить контейнер 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 извне см. в статье Connect and Query Azure SQL Edge.
Из этого краткого руководства вы узнали, как развернуть модуль SQL для пограничных вычислений на устройстве IoT Edge.