Implantar o SQL do Azure no Edge

Importante

O SQL do Azure no Edge encerrou o suporte à plataforma ARM64.

O SQL do Azure no Edge é um mecanismo de banco de dados relacional otimizado para implantações de IoT e do Azure IoT Edge. Ele oferece funcionalidades para a criação de uma camada de processamento e armazenamento de dados de alto desempenho para aplicativos e soluções de IoT. Este início rápido mostra como começar a criar um módulo do SQL do Azure no Edge por meio do Azure IoT Edge usando o portal do Azure.

Antes de começar

Observação

Para implantar uma VM do Linux no Azure como um dispositivo IoT Edge, confira este guia de início rápido.

Implantar o módulo do SQL no Edge por meio do Azure Marketplace

O Azure Marketplace é um marketplace online de aplicativos e serviços onde você pode procurar por uma ampla variedade de aplicativos e soluções corporativas que são certificadas e otimizadas para execução no Azure, incluindo módulos do IoT Edge. O SQL do Azure no Edge pode ser implantado em um dispositivo de borda por meio do marketplace.

  1. Encontre o módulo do SQL do Azure no Edge no Azure Marketplace.

    Screenshot of SQL Edge in the Azure Marketplace.

  2. Escolha o plano de software que melhor atende aos requisitos e selecione Criar.

    Screenshot showing how to pick the correct software plan.

  3. Na página Dispositivos de Destino para o módulo do IoT Edge, especifique os seguintes detalhes e selecione Criar.

    Campo Descrição
    Assinatura A assinatura do Azure na qual o Hub IoT foi criado
    Hub IoT Nome do Hub IoT em que o dispositivo IoT Edge está registrado e selecione a opção "Implantar em um dispositivo"
    Nome do dispositivo IoT Edge Nome do dispositivo IoT Edge no qual o SQL no Edge será implantado
  4. Na página Definir Módulos no dispositivo:, selecione o módulo do SQL do Azure no Edge em Módulos do IoT Edge. O nome do módulo padrão é definido como AzureSQLEdge.

  5. Na seção Configurações do Módulo do painel Atualizar Módulo do IoT Edge, especifique os valores desejados para o Nome do módulo do IoT Edge, a Política de Reinicialização e o Status Desejado.

    Importante

    Não altere ou atualize as configurações do URI de Imagem no módulo.

  6. Na seção Variáveis de Ambiente do painel Atualizar Módulo do IoT Edge, especifique os valores desejados para as variáveis de ambiente. Para obter uma lista completa de variáveis de ambiente do SQL do Azure no Edge, consulte Configurar usando variáveis de ambiente. As variáveis de ambiente padrão a seguir são definidas para o módulo.

    Parâmetro Descrição
    MSSQL_SA_PASSWORD Altere o valor padrão para especificar uma senha forte para a conta de administrador do SQL no Edge.
    MSSQL_LCID Altere o valor padrão para definir a ID da linguagem desejada a ser usada para o SQL no Edge. Por exemplo, 1036 é francês.
    MSSQL_COLLATION Altere o valor padrão para definir o agrupamento padrão para o SQL no Edge. Essa configuração substitui o mapeamento padrão do LCID (ID de idioma) na ordenação.

    Importante

    Não altere ou atualize a variável de ambiente ACCEPT_EULA do módulo.

  7. Na seção Opções de Criação do Contêiner do painel Atualizar Módulo do IoT Edge, atualize as seguintes opções de acordo com o requisito.

    • Porta do host

      Mapeie a porta do host especificada para a porta 1433 (porta SQL padrão) no contêiner.

    • Associações e Montagens

      Se for necessário implantar mais de um módulo do SQL no Edge, atualize a opção de montagens para criar um novo par de origem e destino para o volume persistente. Para obter mais informações sobre montagens e volume, consulte Usar volumes na documentação do 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"
        ]
    }
    

    Importante

    Não altere a PlanId variável de ambiente definida na configuração create config. Se esse valor for alterado, o contêiner do SQL do Azure no Edge não será iniciado.

    Aviso

    Se for reinstalar o módulo, primeiro remova todas as associações existentes, caso contrário, as variáveis de ambiente não serão atualizadas.

  8. No painel Atualizar Módulo do IoT Edge, selecione Atualizar.

  9. Na página Definir módulos no dispositivo, selecione Avançar: Rotas > se precisar definir rotas para sua implantação. Caso contrário, selecione Revisar + Criar. Para mais informações sobre configuração de rotas, consulte implantar módulos e estabelecer rotas no IoT Edge.

  10. Na página Definir módulos no dispositivo, selecione Criar.

Conectar-se ao SQL do Azure no Edge

As etapas a seguir usam a ferramenta de linha de comando do SQL do Azure no Edge, sqlcmd, dentro do contêiner para se conectar ao SQL do Azure no Edge.

Observação

As ferramentas de linha de comando do SQL Server, incluindo sqlcmd, não estão disponíveis na versão ARM64 dos contêineres do Azure SQL Edge.

  1. Use o comando docker exec -it para iniciar um shell bash interativo dentro do contêiner em execução. No exemplo a seguir, AzureSQLEdge é o Name nome especificado pelo parâmetro do seu Módulo IoT Edge.

    sudo docker exec -it AzureSQLEdge "bash"
    
  2. Quando estiver no contêiner, conecte a ferramenta sqlcmd localmente. A sqlcmd não está no caminho por padrão, portanto, será necessário especificar o caminho completo.

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

    Dica

    É possível omitir a senha na linha de comando para receber uma solicitação para inseri-la.

  3. Se isso funcionar, você será levado a um prompt de comando sqlcmd: 1>.

Criar e consultar dados

As seções a seguir descrevem como usar o sqlcmd e o Transact-SQL para criar um banco de dados, adicionar dados e executar uma consulta.

Criar um novo banco de dados

As etapas a seguir criam um novo banco de dados denominado TestDB.

  1. No prompt de comando sqlcmd, cole o seguinte comando Transact-SQL para criar um banco de dados de teste:

    CREATE DATABASE TestDB;
    GO
    
  2. Na próxima linha, grave uma consulta para retornar o nome de todos os bancos de dados do servidor:

    SELECT name from sys.databases;
    GO
    

Inserir dados

Em seguida, crie uma nova tabela chamada Inventory e insira duas novas linhas.

  1. No prompt de comando sqlcmd, altere o contexto para o novo banco de dados TestDB:

    USE TestDB;
    
  2. Criar nova tabela denominada Inventory:

    CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
    
  3. Inserir dados na nova tabela:

    INSERT INTO Inventory
    VALUES (1, 'banana', 150);
    
    INSERT INTO Inventory
    VALUES (2, 'orange', 154);
    
  4. Digite GO para executar os comandos anteriores:

    GO
    

Selecionar dados

Agora, execute uma consulta para retornar da tabela Inventory.

  1. No prompt de comando sqlcmd, digite uma consulta que retorna linhas de tabela Inventory em que a quantidade é maior que 152:

    SELECT * FROM Inventory WHERE quantity > 152;
    
  2. Execute o comando:

    GO
    

Saia do prompt de comando sqlcmd

  1. Para encerrar a sessão sqlcmd, digite QUIT:

    QUIT
    
  2. Para sair do prompt de comando interativo no contêiner, digite exit. O contêiner continuará a ser executado depois que você sair do shell bash interativo.

Conectar-se de fora do contêiner

Você pode conectar e executar consultas do SQL na instância do SQL do Azure no Edge em qualquer ferramenta externa do macOS, Windows ou Linux que seja compatível com as conexões do SQL. Para obter mais informações sobre como se conectar a um contêiner do SQL no Edge externamente, confira Conectar e consultar o SQL do Azure no Edge.

Neste início rápido, você implantou um módulo do SQL no Edge em um dispositivo IoT Edge.

Próximas etapas