Azure SQL Edge implementeren

Azure SQL Edge is een relationele database-engine die is geoptimaliseerd voor IoT- en Azure IoT Edge-implementaties. Het biedt mogelijkheden voor het maken van een hoogwaardige gegevensopslag- en verwerkingslaag voor IoT-toepassingen en -oplossingen. In deze quickstart ziet u hoe u aan de slag gaat met het maken van een Azure SQL Edge-module via Azure IoT Edge de Azure Portal.

Voordat u begint

Notitie

Zie deze quickstart voor het implementeren van een virtuele Linux-IoT Edge azure-VM als een apparaat met een apparaat.

Een SQL Edge-module implementeren vanuit Azure Marketplace

Azure Marketplace is een onlinemarktplaats voor toepassingen en services waar u kunt bladeren door een breed scala aan bedrijfstoepassingen en -oplossingen die zijn gecertificeerd en geoptimaliseerd voor gebruik in Azure, waaronder IoT Edge modules. Azure SQL Edge kan via marketplace worden geïmplementeerd op een edge-apparaat.

  1. Zoek de Azure SQL Edge-module op de Azure Marketplace.

    SQL Edge in MarketPlace

  2. Kies het softwareplan dat het beste overeenkomt met uw vereisten en klik op Maken.

    Het juiste softwareplan kiezen

  3. Geef op de pagina Doelapparaten IoT Edge module de volgende details op en klik vervolgens op 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 waarop SQL Edge wordt geïmplementeerd
  4. Klik op de pagina Modules instellen op apparaat: op de module Azure SQL Edge onder IoT Edge Modules. De standaardnaam van de module is ingesteld op AzureSQLEdge.

  5. Geef in de Instellingen module van de blade Update IoT Edge Module de gewenste waarden op voor de IoT Edge Modulenaam, Beleid opnieuw opstarten en Gewenste status.

    Belangrijk

    Wijzig of werk de instellingen voor de afbeeldings-URI in de module niet bij.

  6. Geef in de sectie Omgevingsvariabelen van de blade IoT Edge Module bijwerken de gewenste waarden op voor de omgevingsvariabelen. Zie Configureren met omgevingsvariabelen voor een volledige lijst met Omgevingsvariabelen van Azure SQL Edge. De volgende standaardomgevingsvariabelen zijn gedefinieerd voor de module.

    Parameter Beschrijving
    MSSQL_SA_PASSWORD Wijzig de standaardwaarde om een sterk wachtwoord op te geven voor SQL Edge-beheerdersaccount.
    MSSQL_LCID Wijzig de standaardwaarde om de gewenste taal-id in te stellen die moet worden gebruikt voor SQL Edge. 1036 is bijvoorbeeld Frans.
    MSSQL_COLLATION Wijzig de standaardwaarde om de standaardseratie in te stellen voor SQL Edge. Deze instelling overschrijven de standaardtoewijzing van de taal-id (LCID) aan de collatie.

    Belangrijk

    Wijzig of werk de omgevingsvariabele ACCEPT_EULA de module niet bij.

  7. Werk in de sectie Opties voor container maken van de blade IoT Edge Module bijwerken de volgende opties bij op basis van de vereiste.

    • Hostpoort: Wijs de opgegeven hostpoort toe aan poort 1433 (standaardpoort SQL) in de container.
    • Bindingen en koppelen: als u meer dan één SQL Edge-module wilt implementeren, moet u de koppelingsoptie bijwerken om een nieuw bron-&-doelpaar voor het permanente volume te maken. Raadpleeg de documentatie Volumes gebruiken in Docker voor meer informatie over de bevestigingen en het volume.
    {
     "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 PlanId omgevingsvariabele die is gedefinieerd in de configuratie-instelling maken niet. Als deze waarde wordt gewijzigd, kan de Azure SQL Edge-container niet worden starten.

  8. Klik in het IoT Edge Module bijwerken op Bijwerken.

  9. Klik op de pagina Modules instellen op apparaat op Volgende: Routes > als u routes voor uw implementatie moet definiëren. Klik anders op Controleren en maken. Zie Modules implementeren en routes maken in IoT Edge voor meer informatie over het configureren IoT Edge.

  10. Klik op de pagina Modules instellen op apparaat op Maken.

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 Opdrachtregelprogramma's (sqlcmd) zijn niet beschikbaar in de ARM64-versie van Azure SQL Edge-containers.

  1. Gebruik de opdracht docker exec -it voor het starten van een interactieve bash-shell in de container die wordt uitgevoerd. In het volgende voorbeeld azuresqledge wordt de naam opgegeven door de parameter van uw IoT Edge Name Module.

    sudo docker exec -it azuresqledge "bash"
    
  2. Maak als u in de container bent lokaal verbinding met sqlcmd. sqlcmd bevindt zich standaard niet in het pad, dus u moet het volledige pad opgeven.

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

    Tip

    U kunt het wachtwoord op de opdrachtregel weglaten om te worden gevraagd het in te voeren.

  3. Als dit is gelukt, krijgt u een opdrachtprompt voor sqlcmd: 1>.

Gegevens maken en er query's op uitvoeren

De volgende secties helpen u bij het gebruik van sqlcmd en Transact-SQL 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.

  1. Plak de volgende Transact-SQL-opdracht van de opdrachtprompt van sqlcmd om een testdatabase te maken:

    CREATE DATABASE TestDB
    Go
    
  2. 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, Inventory, en voeg twee nieuwe rijen in.

  1. Ga vanuit de opdrachtprompt van sqlcmd naar de nieuwe TestDB-database:

    USE TestDB
    
  2. Maak een nieuwe tabel met de naam Inventory:

    CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
    
  3. Voeg gegevens in de nieuwe tabel in:

    INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
    
  4. 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.

  1. 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;
    
  2. Voer de opdracht uit:

    GO
    

De sqlcmd-opdrachtprompt afsluiten

  1. Als u uw sqlcmd-sessie wilt beëindigen, typt u QUIT:

    QUIT
    
  2. 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 verbinding maken en SQL-query's uitvoeren op uw Azure SQL Edge-exemplaar vanuit elk extern Linux-, Windows- of macOS-hulpprogramma dat ondersteuning biedt voor SQL-verbindingen. Zie Verbinding maken met en query's uitvoeren op Azure SQL Edge voor meer informatie over het maken van een verbinding met een SQL Edge-container van buiten.

In deze quickstart hebt u een SQL Edge-module geïmplementeerd op IoT Edge apparaat.

Volgende stappen