Partager via


Déployer Azure SQL Edge

Important

Azure SQL Edge ne prend plus en charge la plateforme ARM64.

Azure SQL Edge est un moteur de base de données relationnelle optimisé pour les déploiements IoT et Azure IoT Edge. Il offre des fonctionnalités permettant de créer une couche de traitement et de stockage des données hautes performances pour les solutions et applications IoT. Ce guide de démarrage rapide vous montre comment prendre en main la création d’un module Azure SQL Edge via Azure IoT Edge à l’aide du portail Azure.

Avant de commencer

Remarque

Pour déployer une machine virtuelle Linux Azure en tant qu’appareil IoT Edge, consultez ce guide de démarrage rapide.

Déployer un module Azure SQL Edge à l’aide d’IoT Hub

Azure SQL Edge peut être déployé à l’aide des instructions Déployer des modules à partir du portail Microsoft Azure. L’URI d’image pour Azure SQL Edge est mcr.microsoft.com/azure-sql-edge:latest.

  1. Dans la page Ajouter un module IoT Edge, spécifiez les valeurs souhaitées pour le nom du module IoT Edge, l’URI d’image, la stratégie de redémarrage et l’état souhaité.

    Utilisez l’URI d’image suivant en fonction de l’édition que vous souhaitez déployer :

    • Édition Développeur - mcr.microsoft.com/azure-sql-edge/developer
    • Édition Premium - mcr.microsoft.com/azure-sql-edge/premium
  2. Dans la section Variables d’environnement de la page Mettre à jour le module IoT Edge, spécifiez les valeurs souhaitées pour les variables d’environnement. Pour obtenir la liste complète des variables d’environnement d’Azure SQL Edge, consultez Configurer à l’aide de variables d’environnement.

    Paramètre Description
    ACCEPT_EULA Définir cette valeur sur Y pour accepter le contrat de licence de l’utilisateur final
    MSSQL_SA_PASSWORD Définissez la valeur pour spécifier un mot de passe fort pour le compte d’administrateur SQL Edge.
    MSSQL_LCID Définissez la valeur pour définir l’ID de langue souhaitée à utiliser pour SQL Edge. Par exemple, 1036 correspond au français.
    MSSQL_COLLATION Définissez la valeur pour définir le classement par défaut pour SQL Edge. Ce paramètre remplace le mappage par défaut de l’ID de langue (LCID) par le classement.
  3. Dans la section Options de création de conteneur de la page Ajouter un module IoT Edge, définissez les options en fonction des besoins.

    • Port de l’hôte

      Mappez le port d’hôte spécifié au port 1433 (port SQL par défaut) dans le conteneur.

    • Liaisons et Montages

      Si vous devez déployer plusieurs modules SQL Edge, veillez à mettre à jour l’option Montages pour créer une paire source-cible pour le volume persistant. Pour plus d’informations sur les montages et le volume, consultez Utiliser des volumes dans la documentation 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"
        ]
    }
    

    Important

    Définissez la variable d’environnement PlanId en fonction de l’édition installée.

    • Édition Développeur - asde-developer-on-iot-edge
    • Édition Premium - asde-premium-on-iot-edge

    Si cette valeur est définie de manière incorrecte, le conteneur Azure SQL Edge ne parvient pas à démarrer.

    Avertissement

    Si vous réinstallez le module, n’oubliez pas de supprimer d’abord les liaisons existantes, sinon vos variables d’environnement ne seront pas mises à jour.

  4. Dans la page Ajouter un module IoT Edge, sélectionnez Ajouter.

  5. Dans la page Définir des modules sur l’appareil, sélectionnez Suivant : Itinéraires > si vous devez définir des itinéraires pour votre déploiement. Sinon, sélectionnez Vérifier + créer. Pour plus d’informations sur la configuration d’itinéraires, consultez Déployer des modules et établir des routes dans IoT Edge.

  6. Sur la page Définir des modules sur l’appareil, sélectionnez Créer.

Se connecter à Azure SQL Edge

La procédure suivante utilise l’outil en ligne de commande Azure SQL Edge, sqlcmd, dans le conteneur pour se connecter à Azure SQL Edge.

Remarque

Les outils en ligne de commande SQL Server, notamment sqlcmd, ne sont pas disponibles dans la version ARM64 des conteneurs Azure SQL Edge.

  1. Utilisez la commande docker exec -it pour démarrer un interpréteur de commandes bash interactif dans votre conteneur en cours d’exécution. Dans l’exemple suivant, AzureSQLEdge est le nom spécifié par le paramètre Name de votre module IoT Edge.

    sudo docker exec -it AzureSQLEdge "bash"
    
  2. Une fois dans le conteneur, connectez-vous localement avec l’outil sqlcmd. sqlcmd n’est pas dans le chemin par défaut, vous devez spécifier le chemin complet.

    /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<YourNewStrong@Passw0rd>"
    

    Conseil

    Vous pouvez omettre le mot de passe sur la ligne de commande pour être invité à l’entrer.

  3. Si l’opération réussit, vous devez accéder à une invite de commandes sqlcmd : 1>.

Créer et interroger des données

Les sections suivantes vous guident lors de l’utilisation de sqlcmd et Transact-SQL pour créer une base de données, ajouter des données et exécuter une requête.

Créer une base de données

La procédure suivante crée une base de données nommée TestDB.

  1. À partir de l’invite de commandes sqlcmd, collez la commande Transact-SQL suivante pour créer une base de données de test :

    CREATE DATABASE TestDB;
    GO
    
  2. Sur la ligne suivante, écrivez une requête pour retourner le nom de toutes les bases de données sur votre serveur :

    SELECT name from sys.databases;
    GO
    

Insertion des données

Créez ensuite une table nommée Inventory et insérez deux nouvelles lignes.

  1. À partir de l’invite de commandes sqlcmd, basculez le contexte vers la nouvelle base de données TestDB :

    USE TestDB;
    
  2. Créez une table nommée Inventory :

    CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
    
  3. Insérez des données dans la nouvelle table :

    INSERT INTO Inventory
    VALUES (1, 'banana', 150);
    
    INSERT INTO Inventory
    VALUES (2, 'orange', 154);
    
  4. Tapez GO pour exécuter les commandes précédentes :

    GO
    

Sélectionner les données

Exécutez maintenant une requête pour retourner des données de la table Inventory.

  1. Dans l’invite de commandes sqlcmd, entrez une requête qui retourne les lignes de la table Inventory dont la quantité est supérieure à 152 :

    SELECT * FROM Inventory WHERE quantity > 152;
    
  2. Exécutez la commande :

    GO
    

Quitter l’invite de commandes sqlcmd

  1. Pour mettre fin à votre session sqlcmd, tapez QUIT :

    QUIT
    
  2. Pour quitter l’invite de commandes interactive dans votre conteneur, tapez exit. Le conteneur continue de s’exécuter une fois que vous avez quitté l’interpréteur de commandes bash interactif.

Se connecter en dehors du conteneur

Vous pouvez vous connecter et exécuter des requêtes SQL sur votre instance Azure SQL Edge à partir de n’importe quel outil externe Linux, Windows ou macOS qui prend en charge les connexions SQL. Pour plus d’informations sur la connexion à un conteneur SQL Edge depuis l’extérieur, consultez Connecter et interroger Azure SQL Edge.

Dans ce guide de démarrage rapide, vous avez déployé un module SQL Edge sur un appareil IoT Edge.

Étapes suivantes