Configurar módulos e conexões de IoT 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, veja o Aviso de aposentadoria.
Observação
O SQL do Azure no Edge encerrou o suporte à plataforma ARM64.
Na segunda parte deste tutorial de três partes para prever as impurezas do minério de ferro no SQL do Azure no Edge, você configurará os seguintes módulos do IoT Edge:
- SQL do Azure no Edge
- Módulo gerador de dados do IoT Edge
Especificar credenciais do registro de contêiner
As credenciais de acesso aos registros de contêiner que hospedam imagens do módulo precisam ser especificadas. Essas credenciais podem ser encontradas no registro de contêiner criado no seu grupo de recursos. Navegue até a seção Chave de acesso. Anote os seguintes campos:
- Nome do registro
- Servidor de logon
- Nome de Usuário
- Senha
Agora, especifique as credenciais do contêiner no módulo do IoT Edge.
Navegue até o hub IoT criado no seu grupo de recursos.
Na seção IoT Edge, em Gerenciamento de Dispositivo Automático, selecione ID do dispositivo. Para este tutorial, o ID é
IronOrePredictionDevice
.Selecione a seção Definir módulos.
Em Credenciais de Registro de Contêiner, insira os seguintes valores:
Campo Valor Nome Nome do registro Endereço Servidor de logon Nome do Usuário Nome de Usuário Senha Senha
Criar, efetuar push e implantar um Módulo Gerador de Dados
Clone os arquivos de projeto em seu computador.
Abra o arquivo IronOre_Silica_Predict.sln usando o Visual Studio 2019
Atualize os detalhes do registro de contêiner em deployment.template.json
"registryCredentials": { "RegistryName": { "username": "", "password": "", "address": "" } }
Atualize o arquivo modules.json para especificar o registro de contêiner de destino (ou o repositório do módulo)
"image": { "repository":"samplerepo.azurecr.io/ironoresilicapercent", "tag": }
Execute o projeto no modo de depuração ou versão para garantir que o projeto seja executado sem problemas
Efetue push do projeto para o registro de contêiner clicando com o botão direito do mouse no nome do projeto e selecionando Criar e efetuar push de Módulos do IoT Edge.
Implante o módulo Gerador de Dados como um módulo do IoT Edge em seu dispositivo do Edge.
Implantar o módulo de SQL do Azure no Edge
Implante o módulo do SQL do Azure na Borda selecionando + Adicionar e, a seguir, Módulo do IoT Edge.
Defina as opções de configuração na página Adicionar Módulos do IoT Edge para implantar o módulo do SQL do Azure na Borda. Para obter mais informações sobre as opções de configuração, confira Implantar o SQL do Azure no Edge.
Adicione a variável de ambiente
MSSQL_PACKAGE
à implantação do módulo SQL do Azure no Edge e especifique a URL da SAS do arquivo dacpac do banco de dados criado na etapa 8 da Parte um deste tutorial.Selecione Atualizar
Na página Definir módulos no dispositivo, selecione Avançar: Rotas>.
No painel de rotas da página Definir módulos no dispositivo, especifique as rotas para o módulo para comunicação do hub do IoT Edge, conforme descrito abaixo. Atualize os nomes de módulo nas definições de rota a seguir.
FROM /messages/modules/<your_data_generator_module>/outputs/IronOreMeasures INTO BrokeredEndpoint("/modules/<your_azure_sql_edge_module>/inputs/IronOreMeasures")
Por exemplo:
FROM /messages/modules/ASEDataGenerator/outputs/IronOreMeasures INTO BrokeredEndpoint("/modules/AzureSQLEdge/inputs/IronOreMeasures")
Na página Definir módulos no dispositivo, selecione Avançar: Examinar + criar >
Na página Definir módulos no dispositivo, selecione Criar
Criar e iniciar o trabalho de Streaming do T-SQL no SQL do Azure no Edge.
Abra o Azure Data Studio.
Na guia de boas-vindas, inicie uma nova conexão com os seguintes dados:
Campo Valor Tipo de conexão Microsoft SQL Server Servidor Endereço IP público mencionado na VM que foi criado para esta demonstração. Nome de Usuário sa Senha A senha forte que foi usada ao criar a instância do SQL do Azure no Edge. Banco de dados Padrão Grupo de servidor Padrão Nome (opcional) Forneça um nome opcional. Selecione Conectar.
Na guia do menu Arquivo, abra um novo notebook ou use o atalho de teclado Ctrl + N.
Na janela Consulta nova, execute o script abaixo para criar o trabalho de Streaming do T-SQL. Antes de executar o script, altere as variáveis a seguir:
@SQL_SA_Password
: o valorMSSQL_SA_PASSWORD
especificado ao implantar o Módulo do SQL do Azure no Edge.
USE IronOreSilicaPrediction; GO DECLARE @SQL_SA_Password VARCHAR(200) = '<SQL_SA_Password>'; DECLARE @query VARCHAR(MAX); /* Create objects required for streaming */ CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'MyStr0ng3stP@ssw0rd'; IF NOT EXISTS ( SELECT name FROM sys.external_file_formats WHERE name = 'JSONFormat' ) BEGIN CREATE EXTERNAL FILE FORMAT [JSONFormat] WITH (FORMAT_TYPE = JSON) END IF NOT EXISTS ( SELECT name FROM sys.external_data_sources WHERE name = 'EdgeHub' ) BEGIN CREATE EXTERNAL DATA SOURCE [EdgeHub] WITH (LOCATION = N'edgehub://') END IF NOT EXISTS ( SELECT name FROM sys.external_streams WHERE name = 'IronOreInput' ) BEGIN CREATE EXTERNAL STREAM IronOreInput WITH ( DATA_SOURCE = EdgeHub, FILE_FORMAT = JSONFormat, LOCATION = N'IronOreMeasures' ) END IF NOT EXISTS ( SELECT name FROM sys.database_scoped_credentials WHERE name = 'SQLCredential' ) BEGIN SET @query = 'CREATE DATABASE SCOPED CREDENTIAL SQLCredential WITH IDENTITY = ''sa'', SECRET = ''' + @SQL_SA_Password + '''' EXECUTE (@query) END IF NOT EXISTS ( SELECT name FROM sys.external_data_sources WHERE name = 'LocalSQLOutput' ) BEGIN CREATE EXTERNAL DATA SOURCE LocalSQLOutput WITH ( LOCATION = 'sqlserver://tcp:.,1433', CREDENTIAL = SQLCredential ) END IF NOT EXISTS ( SELECT name FROM sys.external_streams WHERE name = 'IronOreOutput' ) BEGIN CREATE EXTERNAL STREAM IronOreOutput WITH ( DATA_SOURCE = LocalSQLOutput, LOCATION = N'IronOreSilicaPrediction.dbo.IronOreMeasurements' ) END EXEC sys.sp_create_streaming_job @name = N'IronOreData', @statement = N'Select * INTO IronOreOutput from IronOreInput'; EXEC sys.sp_start_streaming_job @name = N'IronOreData';
Use a consulta a seguir para verificar se os dados do módulo de geração de dados estão sendo transmitidos para o banco de dados.
SELECT TOP 10 * FROM dbo.IronOreMeasurements ORDER BY timestamp DESC;
Neste tutorial, implantamos o módulo gerador de dados e o módulo SQL no Edge. Em seguida, criamos um trabalho de streaming para transmitir os dados gerados pelo módulo de geração de dados para SQL.