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 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é.
Recherchez le module Azure SQL Edge sur la Place de marché Azure.
Sélectionnez l’abonnement logiciel qui correspond le mieux à vos besoins, puis sélectionnez Créer.
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é 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.
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.
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.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.
Dans le volet Mettre à jour le module IoT Edge, sélectionnez Mettre à jour.
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, y compris 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
le nom est spécifié par leName
paramètre 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.