Compartir vía


Implementación de Azure SQL Edge

Importante

Azure SQL Edge ya no admite la plataforma ARM64.

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

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 Azure SQL Edge mediante IoT Hub

Azure SQL Edge se puede implementar mediante instrucciones de Implementación de módulos desde Azure Portal. El URI de imagen de Azure SQL Edge es mcr.microsoft.com/azure-sql-edge:latest.

  1. En la página Agregar al módulo IoT Edge, especifique los valores que desee para Nombre del módulo IoT Edge, URI de imagen, Directiva de reinicio y Estado deseado.

    Use el siguiente URI de imagen en función de la edición que quiera implementar:

    • Developer edition - mcr.microsoft.com/azure-sql-edge/developer
    • Premium edition - mcr.microsoft.com/azure-sql-edge/premium
  2. En la sección Variables de entorno de la página Agregar 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.

    Parámetro Descripción
    ACCEPT_EULA Establezca este valor en Y para aceptar el contrato de licencia de usuario final
    MSSQL_SA_PASSWORD Establezca el valor para especificar una contraseña segura para la cuenta de administrador de SQL Edge.
    MSSQL_LCID Establezca el valor para establecer el identificador de idioma deseado que se va a usar para SQL Edge. Por ejemplo, 1036 es francés.
    MSSQL_COLLATION Establezca el valor 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.
  3. En la sección Opciones de creación del contenedor del panel Agregar módulo IoT Edge, establezca las 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, vea 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

    Establezca la variable de entorno PlanId en función de la edición instalada.

    • Developer edition - asde-developer-on-iot-edge
    • Premium edition - asde-premium-on-iot-edge

    Si este valor se establece de forma incorrecta, el contenedor de Azure SQL Edge no se inicia.

    Advertencia

    Si reinstala el módulo, recuerde quitar primero los enlaces que haya. De lo contrario, las variables de entorno no se actualizarán.

  4. En la página Agregar módulo IoT Edge, seleccione Agregar.

  5. 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.

  6. 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.

  1. 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 el parámetro Name del módulo de IoT Edge.

    sudo docker exec -it AzureSQLEdge "bash"
    
  2. 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.

  3. 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.

  1. 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
    
  2. 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.

  1. En el símbolo del sistema de sqlcmd, cambie el contexto a la nueva base de datos TestDB:

    USE TestDB;
    
  2. Cree una tabla llamada Inventory:

    CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
    
  3. Inserte datos en la nueva tabla:

    INSERT INTO Inventory
    VALUES (1, 'banana', 150);
    
    INSERT INTO Inventory
    VALUES (2, 'orange', 154);
    
  4. Escriba GO para ejecutar los comandos anteriores:

    GO
    

Selección de datos

Ahora ejecute una consulta para devolver datos desde la tabla Inventory.

  1. 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;
    
  2. Ejecute el comando:

    GO
    

Salida del símbolo del sistema de sqlcmd

  1. Para finalizar la sesión de sqlcmd, escriba QUIT:

    QUIT
    
  2. 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.

Pasos siguientes