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 le module SQL Edge à partir de la Place de marché Azure

La Place de marché Azure est un marché d’applications et de services en ligne qui vous permet de naviguer au milieu d’un large éventail d’applications et de solutions d’entreprise certifiées et optimisées pour s’exécuter sur Azure, notamment les modules IoT Edge. Azure SQL Edge peut être déployé sur un périphérique via la Place de marché.

  1. Recherchez le module Azure SQL Edge sur la Place de marché Azure.

    Screenshot of SQL Edge in the Azure Marketplace.

  2. Sélectionnez l’abonnement logiciel qui correspond le mieux à vos besoins, puis sélectionnez Créer.

    Screenshot showing how to pick the correct software plan.

  3. Sur la page des appareils cibles pour le module IoT Edge, spécifiez les informations suivantes, puis sélectionnez Créer.

    Champ Description
    Abonnement L’abonnement Azure dans lequel l’IoT Hub a été créé
    IoT Hub Nom de l’IoT Hub où l’appareil IoT Edge est inscrit. Sélectionnez ensuite l’option « Déployer sur un appareil »
    Nom de l’appareil IoT Edge Nom de l’appareil IoT Edge sur lequel SQL Edge sera déployé
  4. Sur la page Définir des modules sur l’appareil, sélectionnez le module Azure SQL Edge sous Modules IoT Edge. Le nom de module par défaut est défini sur AzureSQLEdge.

  5. Dans la section Paramètres du module du volet Mettre à jour le module IoT Edge, spécifiez les valeurs souhaitées pour Nom du module IoT Edge, Stratégie de redémarrage et État souhaité.

    Important

    Ne modifiez pas ou ne mettez pas à jour les paramètres d’URI d’image du module.

  6. Dans la section Variables d’environnement du volet 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. Les variables d’environnement par défaut suivantes sont définies pour le module.

    Paramètre Description
    MSSQL_SA_PASSWORD Modifiez la valeur par défaut pour spécifier un mot de passe fort pour le compte d’administrateur SQL Edge.
    MSSQL_LCID Modifiez la valeur par défaut en définissant l’ID de langue souhaitée à utiliser pour SQL Edge. Par exemple, 1036 correspond au français.
    MSSQL_COLLATION Modifiez la valeur par défaut en définissant 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.

    Important

    Ne modifiez pas ou ne mettez pas à jour la variable d’environnement ACCEPT_EULA pour le module.

  7. Dans la section Options de création de conteneur du volet Mettre à jour le module IoT Edge, mettez à jour les options suivantes en fonction de l’exigence.

    • 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 La documentation Utiliser des volumes sur 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

    Ne modifiez pas la PlanId variable d’environnement définie dans le paramètre de configuration de création. Si vous modifiez cette valeur, le démarrage du conteneur Azure SQL Edge échouera.

    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.

  8. Dans le volet Mettre à jour le module IoT Edge, sélectionnez Mettre à jour.

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

  10. 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, y compris 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 le nom est spécifié par le Name paramètre 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