Azure SQL Edge implementeren
Belangrijk
Azure SQL Edge biedt geen ondersteuning meer voor het ARM64-platform.
Azure SQL Edge is een relationele database-engine die is geoptimaliseerd voor IoT- en Azure IoT Edge-implementaties. Het biedt mogelijkheden om een hoogwaardige gegevensopslag- en verwerkingslaag te maken voor IoT-toepassingen en -oplossingen. In deze quickstart leert u hoe u aan de slag gaat met het maken van een Azure SQL Edge-module via Azure IoT Edge met behulp van Azure Portal.
Voordat u begint
- Als u nog geen Azure-abonnement hebt, maakt u een gratis account.
- Meld u aan bij de Azure-portal.
- Een Azure IoT Hub maken.
- Maak een Azure IoT Edge-apparaat.
Notitie
Raadpleeg deze quickstart voor het implementeren van een Virtuele Linux-machine in Azure als een IoT Edge-apparaat.
SQL Edge-module implementeren vanuit Azure Marketplace
Azure Marketplace is een online marketplace voor toepassingen en services waar u door een breed scala aan bedrijfstoepassingen en -oplossingen kunt bladeren die zijn gecertificeerd en geoptimaliseerd voor uitvoering in Azure, waaronder IoT Edge-modules. Azure SQL Edge kan worden geïmplementeerd op een edge-apparaat via marketplace.
Zoek de Azure SQL Edge-module op de Azure Marketplace.
Kies het softwareplan dat het beste overeenkomt met uw vereisten en selecteer Maken.
Geef op de pagina Doelapparaten voor IoT Edge-module de volgende details op en selecteer Vervolgens Maken.
Veld Beschrijving Abonnement Het Azure-abonnement waaronder de IoT Hub is gemaakt IoT Hub Naam van de IoT Hub waar het IoT Edge-apparaat is geregistreerd en selecteer vervolgens de optie Implementeren op een apparaat IoT Edge-apparaatnaam Naam van het IoT Edge-apparaat waar SQL Edge zou worden geïmplementeerd Selecteer op de pagina Modules instellen op het apparaat de Azure SQL Edge-module onder IoT Edge-modules. De standaardmodulenaam is ingesteld op AzureSQLEdge.
Geef in de sectie Module Instellingen van het deelvenster IoT Edge-module bijwerken de gewenste waarden op voor de naam van de IoT Edge-module, het beleid opnieuw opstarten en de gewenste status.
Belangrijk
Wijzig of werk de URI-instellingen van de installatiekopieën in de module niet bij.
Geef in de sectie Omgevingsvariabelen van het deelvenster IoT Edge-module bijwerken de gewenste waarden op voor de omgevingsvariabelen. Zie Configureren met behulp van omgevingsvariabelen in Azure SQL Edge voor een volledige lijst met omgevingsvariabelen in Azure SQL Edge. De volgende standaardomgevingsvariabelen worden gedefinieerd voor de module.
Parameter Omschrijving MSSQL_SA_PASSWORD Wijzig de standaardwaarde om een sterk wachtwoord op te geven voor het SQL Edge-beheerdersaccount. MSSQL_LCID Wijzig de standaardwaarde om de gewenste taal-id in te stellen voor SQL Edge. 1036 is bijvoorbeeld Frans. MSSQL_COLLATION Wijzig de standaardwaarde om de standaardsortering voor SQL Edge in te stellen. Met deze instelling wordt de standaardtoewijzing van taal-id (LCID) voor sortering overschreven. Belangrijk
Wijzig of werk de
ACCEPT_EULA
omgevingsvariabele voor de module niet bij.Werk in de sectie Opties voor container maken van het deelvenster IoT Edge-module bijwerken de volgende opties op basis van de vereiste.
Hostpoort
Wijs de opgegeven hostpoort toe aan poort 1433 (standaard SQL-poort) in de container.
Bindingen en koppelingen
Als u meer dan één SQL Edge-module moet implementeren, moet u ervoor zorgen dat u de koppelingsoptie bijwerkt om een nieuw bron- en doelpaar te maken voor het permanente volume. Zie de documentatie over volumes in Docker gebruiken voor meer informatie over koppelingen en volumes .
{ "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" ] }
Belangrijk
Wijzig de omgevingsvariabele die is gedefinieerd in de configuratie-instelling voor maken niet
PlanId
. Als deze waarde wordt gewijzigd, kan de Azure SQL Edge-container niet worden gestart.Waarschuwing
Als u de module opnieuw installeert, moet u eerst bestaande bindingen verwijderen, anders worden uw omgevingsvariabelen niet bijgewerkt.
Selecteer Bijwerken in het deelvenster IoT Edge-module bijwerken.
Selecteer volgende op de pagina Modules instellen op het apparaat: Routes > als u routes voor uw implementatie wilt definiëren. Selecteer anders Beoordelen en maken. Zie Modules implementeren en routes instellen in IoT Edge voor meer informatie over het configureren van routes.
Selecteer Maken op de pagina Modules instellen op het apparaat.
Verbinding maken met Azure SQL Edge
In de volgende stappen wordt het Azure SQL Edge-opdrachtregelprogramma, sqlcmd, in de container gebruikt om verbinding te maken met Azure SQL Edge.
Notitie
SQL Server-opdrachtregelprogramma's, waaronder sqlcmd, zijn niet beschikbaar in de ARM64-versie van Azure SQL Edge-containers.
Gebruik de opdracht
docker exec -it
voor het starten van een interactieve bash-shell in de container die wordt uitgevoerd. In het volgende voorbeeldAzureSQLEdge
wordt de naam opgegeven door deName
parameter van uw IoT Edge-module.sudo docker exec -it AzureSQLEdge "bash"
Maak in de container lokaal verbinding met het hulpprogramma sqlcmd . sqlcmd bevindt zich niet standaard in het pad, dus u moet het volledige pad opgeven.
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<YourNewStrong@Passw0rd>"
Fooi
U kunt het wachtwoord op de opdrachtregel weglaten om te worden gevraagd het in te voeren.
Als dit is gelukt, krijgt u een opdrachtprompt voor sqlcmd:
1>
.
Gegevens maken en er query's op uitvoeren
In de volgende secties leert u hoe u sqlcmd en Transact-SQL gebruikt om een nieuwe database te maken, gegevens toe te voegen en een query uit te voeren.
Een nieuwe database maken
Met de volgende stappen maakt u een nieuwe database met de naam TestDB
.
Plak de volgende Transact-SQL-opdracht van de opdrachtprompt van sqlcmd om een testdatabase te maken:
CREATE DATABASE TestDB; GO
Schrijf op de volgende regel een query om de naam van alle databases op uw server te retourneren:
SELECT name from sys.databases; GO
Gegevens invoegen
Maak vervolgens een nieuwe tabel met de naam Inventory
en voeg twee nieuwe rijen in.
Ga vanuit de opdrachtprompt van sqlcmd naar de nieuwe
TestDB
-database:USE TestDB;
Maak een nieuwe tabel met de naam
Inventory
:CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
Voeg gegevens in de nieuwe tabel in:
INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
Typ
GO
om de vorige opdrachten uit te voeren:GO
Gegevens selecteren
Voer nu een query uit om gegevens op te halen uit de tabel Inventory
.
Voer vanuit de opdrachtprompt van sqlcmd een query in die rijen uit de tabel
Inventory
retourneert, waarbij de hoeveelheid groter is dan 152:SELECT * FROM Inventory WHERE quantity > 152;
Voer de opdracht uit:
GO
De sqlcmd-opdrachtprompt afsluiten
Als u uw sqlcmd-sessie wilt beëindigen, typt u
QUIT
:QUIT
Als u de interactieve opdrachtprompt in de container wilt afsluiten, typt u
exit
. Uw container blijft actief nadat u de interactieve bash-shell hebt afgesloten.
Verbinding maken van buiten de container
U kunt SQL-query's verbinden en uitvoeren op uw Azure SQL Edge-exemplaar vanuit elk extern Linux-, Windows- of macOS-hulpprogramma dat ONDERSTEUNING biedt voor SQL-verbindingen. Zie Verbinding maken en query's uitvoeren op Azure SQL Edge voor meer informatie over het maken van verbinding met een SQL Edge-container van buiten.
In deze quickstart hebt u een SQL Edge-module geïmplementeerd op een IoT Edge-apparaat.