Implementación de Azure SQL Edge
Azure SQL Edge es un motor de base de datos relacional optimizado para implementaciones de IoT y Azure IoT Edge. Proporciona funcionalidades para crear una capa de procesamiento y almacenamiento de datos de alto rendimiento para las aplicaciones y soluciones de IoT. Esta guía de inicio rápido le muestra cómo comenzar a crear un módulo de Azure SQL Edge a través de Azure IoT Edge mediante Azure Portal.
Antes de empezar
- Si no tiene una suscripción a Azure, cree una cuenta gratuita.
- Inicie sesión en Azure Portal.
- Cree un Azure IoT Hub.
- Cree un dispositivo de Azure IoT Edge.
Nota
Para implementar una máquina virtual Linux de Azure como un dispositivo IoT Edge, consulte esta guía de inicio rápido.
Implementación del módulo de SQL Edge desde Azure Marketplace
Azure Marketplace es un mercado de aplicaciones y servicios en línea en el que puede examinar una amplia gama de aplicaciones y soluciones empresariales que están certificadas y optimizadas para ejecutarse en Azure, incluyendo los módulos de IoT Edge. Azure SQL Edge se puede implementar en un dispositivo perimetral a través de Marketplace.
Busque el módulo de Azure SQL Edge en Azure Marketplace.
Elija el plan de software que mejor se adapte a sus requisitos y seleccione Crear.
En la página Dispositivos de destino para el módulo de IoT Edge, especifique los siguientes detalles y seleccione Crear.
Campo Descripción Suscripción La suscripción de Azure en la que se creó el IoT Hub IoT Hub Nombre del IoT Hub en el que está registrado el dispositivo IoT Edge y, a continuación, seleccione la opción "Implementar en un dispositivo" Nombre de dispositivo IoT Edge Nombre del dispositivo IoT Edge en el que se implementará SQL Edge En la página Establecer módulos en el dispositivo, seleccione el módulo de Azure SQL Edge en Módulos de IoT Edge. El nombre del módulo predeterminado se establece en AzureSQLEdge.
En la sección Configuración del módulo del panel Actualizar módulo IoT Edge, especifique los valores que desee para Nombre del módulo IoT Edge, Directiva de reinicio y Estado deseado.
Importante
No cambie ni actualice la configuración de URI de la imagen del módulo.
En la sección Variables de entorno del panel Actualizar módulo IoT Edge, especifique los valores que desee para las variables de entorno. Para obtener una lista completa de las variables de entorno de Azure SQL Edge, consulte Configuración con variables de entorno. Se han definido las siguientes variables de entorno predeterminadas para el módulo.
Parámetro Descripción MSSQL_SA_PASSWORD Cambie el valor predeterminado para especificar una contraseña segura para la cuenta de administrador de SQL Edge. MSSQL_LCID Cambie el valor predeterminado para establecer el identificador de idioma deseado que se va a usar para SQL Edge. Por ejemplo, 1036 es francés. MSSQL_COLLATION Cambie el valor predeterminado para establecer la intercalación predeterminada para SQL Edge. Esta configuración invalida la asignación predeterminada de identificador de idioma (LCID) a la intercalación. Importante
No cambie ni actualice la variable de entorno
ACCEPT_EULA
para el módulo.En la sección Opciones de creación del contenedor del panel Actualizar módulo IoT Edge, actualice las siguientes opciones según sea necesario.
Puerto de host
Asigne el puerto de host especificado al puerto 1433 (puerto SQL predeterminado) en el contenedor.
Enlaces y Montajes
Si necesita implementar más de un módulo de SQL Edge, asegúrese de actualizar la opción Montajes para crear un nuevo par de origen y destino para el volumen persistente. Para obtener más información sobre los montajes y el volumen, consulte el artículo sobre cómo usar volúmenes en la documentación de 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" ] }
Importante
No cambie la variable de entorno
PlanId
definida en la opción Crear configuración. Si se cambia este valor, el contenedor de Azure SQL Edge no se iniciará.Advertencia
Si reinstala el módulo, recuerde quitar primero los enlaces que haya. De lo contrario, las variables de entorno no se actualizarán.
En el panel Actualizar módulo IoT Edge, seleccione Actualizar.
En la página Establecer módulos en el dispositivo, seleccione Siguiente: Rutas > si necesita definir rutas para la implementación. En caso contrario, seleccione Revisar y crear. Para obtener más información sobre la configuración de rutas, vea Implementación de módulos y establecimiento de rutas en IoT Edge.
En la página Establecer módulos en el dispositivo, seleccione Crear.
Conexión a Azure SQL Edge
En los pasos siguientes, se usa la herramienta de línea de comandos de Azure SQL Edge, sqlcmd, dentro del contenedor para conectarse a Azure SQL Edge.
Nota
Las herramientas de línea de comandos de SQL Server, como sqlcmd, no están disponibles en la versión ARM64 de los contenedores de Azure SQL Edge.
Use el comando
docker exec -it
para iniciar un shell de Bash interactivo dentro de su contenedor en ejecución. En el ejemplo siguiente,AzureSQLEdge
es el nombre especificado por elName
parámetro del módulo de IoT Edge.sudo docker exec -it AzureSQLEdge "bash"
Una vez dentro del contenedor, conecte localmente con la herramienta sqlcmd. sqlcmd no está en la ruta de acceso de forma predeterminada, por lo que deberá especificar la ruta de acceso completa.
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<YourNewStrong@Passw0rd>"
Sugerencia
Puede omitir la contraseña en la línea de comandos para que se le solicite escribirla.
Si se realiza correctamente, debe ver un símbolo de sistema de sqlcmd:
1>
.
Creación y consulta de datos
En las secciones siguientes se le guía por el uso de sqlcmd y Transact-SQL para crear una base de datos, agregar datos y ejecutar una consulta.
Creación de una base de datos
En los pasos siguientes se crea una base de datos denominada TestDB
.
En el símbolo del sistema de sqlcmd, pegue el comando Transact-SQL siguiente para crear una base de datos de prueba:
CREATE DATABASE TestDB; Go
En la línea siguiente, escriba una consulta para devolver el nombre de todas las bases de datos del servidor:
SELECT Name from sys.databases; Go
Insertar datos
Después, cree una tabla denominada Inventory
e inserte dos filas nuevas.
En el símbolo del sistema de sqlcmd, cambie el contexto a la nueva base de datos
TestDB
:USE TestDB;
Cree una tabla llamada
Inventory
:CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
Inserte datos en la nueva tabla:
INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
Escriba
GO
para ejecutar los comandos anteriores:GO
Selección de datos
Ahora ejecute una consulta para devolver datos desde la tabla Inventory
.
En el símbolo del sistema sqlcmd, escriba una consulta que devuelva filas desde la tabla
Inventory
donde la cantidad sea mayor que 152:SELECT * FROM Inventory WHERE quantity > 152;
Ejecute el comando:
GO
Salida del símbolo del sistema de sqlcmd
Para finalizar la sesión de sqlcmd, escriba
QUIT
:QUIT
Para salir de la línea de comandos interactiva del contenedor, escriba
exit
. El contenedor continuará ejecutándose después de salir del shell de Bash interactivo.
Conectarse desde fuera del contenedor
Puede conectarse a la instancia de Azure SQL Edge y ejecutar en ella consultas SQL desde cualquier herramienta externa de Linux, Windows o macOS compatible con las conexiones de SQL. Para más información sobre cómo conectarse a un contenedor de SQL Edge desde fuera, vea Conexión a Azure SQL Edge y consulta (versión preliminar).
Con esta guía de inicio rápido, ha implementado un módulo de SQL Edge en un dispositivo IoT Edge.