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
- Si vous n’avez pas d’abonnement Azure, créez un compte gratuit.
- Connectez-vous au portail Azure.
- Créez une ressource Azure IoT Hub.
- Créez un appareil Azure IoT Edge.
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
.
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
- Édition Développeur -
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 finalMSSQL_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. 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.
Dans la page Ajouter un module IoT Edge, sélectionnez Ajouter.
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.
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.
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ètreName
de votre module IoT Edge.sudo docker exec -it AzureSQLEdge "bash"
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.
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
.
À 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
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.
À partir de l’invite de commandes sqlcmd, basculez le contexte vers la nouvelle base de données
TestDB
:USE TestDB;
Créez une table nommée
Inventory
:CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
Insérez des données dans la nouvelle table :
INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
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
.
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;
Exécutez la commande :
GO
Quitter l’invite de commandes sqlcmd
Pour mettre fin à votre session sqlcmd, tapez
QUIT
:QUIT
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.