Implantar o SQL do Azure no Edge
Importante
O SQL do Azure no Edge será desativado em 30 de setembro de 2025. Para obter mais informações e opções de migração, confira o aviso de desativação.
Observação
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
- Se você não tiver uma assinatura do Azure, crie uma conta gratuita.
- Entre no portal do Azure.
- Crie um Hub IoT do Azure.
- Criar um dispositivo do Azure IoT Edge.
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 do Azure no Edge usando o Hub IoT
O SQL do Azure no Edge pode ser implantado usando instruções de Implantar módulos do portal do Azure. O URI de imagem do SQL do Azure no Edge é mcr.microsoft.com/azure-sql-edge:latest
.
Na página Adicionar módulo do IoT Edge, especifique os valores desejados para o Nome do módulo do IoT Edge,URI da imagem,Política de reinicialização e Status desejado.
Use o seguinte URI de imagem dependendo da edição que você deseja implantar:
- Edição de desenvolvedor -
mcr.microsoft.com/azure-sql-edge/developer
- Edição premium -
mcr.microsoft.com/azure-sql-edge/premium
- Edição de desenvolvedor -
Na seção Variáveis de Ambiente da página Adicionar 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.
Parâmetro Descrição ACCEPT_EULA Defina esse valor como Y
para aceitar o Contrato de Licenciamento do Usuário FinalMSSQL_SA_PASSWORD Defina o valor para especificar uma senha forte para a conta de administrador do SQL Edge. MSSQL_LCID Defina o valor para definir a ID de idioma desejada a ser usada para o SQL Edge. Por exemplo, 1036 é francês. MSSQL_COLLATION Defina o valor para definir a ordenação padrão para o SQL Edge. Essa configuração substitui o mapeamento padrão do LCID (ID de idioma) na ordenação. Na seção Opções de criação de contêiner da página Adicionar módulo do IoT Edge, defina as opções de acordo com o requisito.
Porta de 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
Defina a variável de ambiente
PlanId
com base na edição instalada.- Edição de desenvolvedor -
asde-developer-on-iot-edge
- Edição premium -
asde-premium-on-iot-edge
Se esse valor for definido incorretamente, 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.
Na página Adicionar módulo do IoT Edge, selecione Adicionar.
Na página Definir módulos no dispositivo selecione Avançar: Rotas >, se for necessário definir rotas para a 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.
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 dentro da versão ARM64 dos contêineres do SQL do Azure no Edge.
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 nome especificado pelo parâmetroName
do seu módulo do IoT Edge.sudo docker exec -it AzureSQLEdge "bash"
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.
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
.
No prompt de comando sqlcmd, cole o seguinte comando Transact-SQL para criar um banco de dados de teste:
CREATE DATABASE TestDB; GO
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.
No prompt de comando sqlcmd, altere o contexto para o novo banco de dados
TestDB
:USE TestDB;
Criar nova tabela denominada
Inventory
:CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
Inserir dados na nova tabela:
INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
Digite
GO
para executar os comandos anteriores:GO
Selecionar dados
Agora, execute uma consulta para retornar da tabela Inventory
.
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;
Execute o comando:
GO
Saia do prompt de comando sqlcmd
Para encerrar a sessão sqlcmd, digite
QUIT
:QUIT
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.