Estamos tentando explorar o Azure Stream Analytics no IoT Edge. Estamos seguindoessetutorial.
Realizamos os seguintes passos:
- Criou uma VM do Windows
- Criou um dispositivo Edge
- Criado no módulo Azure Stream Analytics, entrada, saída e consulta configuradas
- Adicionado um sensor de temperatura e umidade simulado Sensor do Azure Market Place
- Adicionado módulo Azure Stream Analytics
- Configure rotas conforme mencionado no tutorial e implantadas no dispositivo Edge (VM do Azure)
Ao usar comandos posso ver os 4 itens no dispositivo (VM do Windows). O sensor simulado está enviando dados, mas a consulta não é acionada escrita no trabalho ASA. Ao verificar os logs do edgeHub, encontramos o erro abaixo:
Falha no handshake TLS., System.AggregateException: Ocorreram um ou mais erros. (As credenciais fornecidas ao pacote não foram reconhecidas) ---> System.ComponentModel.Win32Exception: As credenciais fornecidas ao pacote não foram reconhecidas em System.Net.SSPIWrapper.AcquireCredentialsHandle(SSPIInterface secModule, String package, CredentialUse intent, SCHANNEL_CRED scc ). Segurança.SecureChannel. AcquireServerCredentials(Byte[]& thumbPrint, Byte[] clientHello) em System.Net.Security.SecureChannel.GenerateToken(Byte[] entrada, deslocamento Int32, contagem Int32, Byte[]& saída) em System.Net.Security.SecureChannel. NextMessage (Byte [] recebido, deslocamento Int32, contagem Int32) em System.Net.Security.SslState.StartSendBlob (Byte [] recebido, contagem Int32, AsyncProtocolRequest asyncRequest) em System.Net.Security.SslState.ProcessReceivedBlob (buffer Byte [] , contagem Int32, AsyncProtocolRequest asyncRequest) em System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest) em System.Net.Security.SslState.PartialFrameCallback(AsyncProtocolRequest asyncRequest) --- Fim do rastreamento de pilha do local anterior onde a exceção foi lançada --- em System.Net.Security.SslState.ThrowIfExceptional() em System.Net.Security.SslState.InternalEndProcessAuthentication(LazyAsyncResult lazyResult) em System.Net.Security.SslState.EndProcessAuthentication(IAsyncResult result) em System.Net.Security.SslStream.EndAuthenticateAsServer(IAsyncResult asyncResult) em System.Net.Security.SslStream.<>c.b__50_2(IAsyncResult iar) em System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar, Func2 endFunction, Action1 endAction, promessa Task1, Boolean requireSynchronization) --- Fim do rastreamento de pilha de exceção interna --- ---> (Exceção interna #0) System.ComponentModel.Win32Exception (0x8009030D): As credenciais fornecidas ao pacote não foram reconhecidas no System. .Net.SSPIWrapper.AcquireCredentialsHandle (SSPIInterface secModule, pacote String, intenção CredentialUse, SCHANNEL_CRED scc) em System.Net.Security.SslStreamPal.AcquireCredentialsHandle (CredentialUse credUsage, SCHANNEL_CRED secureCredential) em System.Net.Security.SslStreamPal.Ac quireCredentialsHandle(X509Certificado de certificado, Protocolos SslProtocols, política EncryptionPolicy, Boolean isServer) em System.Net.Security.SecureChannel.AcquireServerCredentials(Byte[]& thumbPrint, Byte[] clientHello) em System.Net.Security.SecureChannel.GenerateToken(Byte[] entrada, deslocamento Int32, Contagem Int32, Byte[]& saída) em System.Net.Security.SecureChannel.NextMessage(Byte[] entrada, deslocamento Int32, contagem Int32) em System.Net.Security.SslState.StartSendBlob(Byte[] entrada, contagem Int32,AsyncProtocolRequest asyncRequest) em System.Net.Security.SslState.ProcessReceivedBlob (buffer Byte [], contagem Int32, AsyncProtocolRequest asyncRequest) em System.Net.Security.SslState.StartReadFrame (buffer Byte [], Int32 readBytes, AsyncProtocolRequest asyncRequest) em System. Net.Security.SslState.PartialFrameCallback(AsyncProtocolRequest asyncRequest) --- Fim do rastreamento de pilha do local anterior onde a exceção foi lançada --- em System.Net.Security.SslState.ThrowIfExceptional() em System.Net.Security.SslState.InternalEndProcessAuthentication (LazyAsyncResult preguiçosoResult) em System.Net.Security.SslState.EndProcessAuthentication(resultado IAsyncResult) em System.Net.Security.SslStream.EndAuthenticateAsServer(IAsyncResult asyncResult) em System.Net.Security.SslStream.<>c.b__50_2(IAsyncResult iar) em System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar, Func2 endFunction, Action1 endAction, Task1 promessa, Boolean requireSynchronization)<--- , 1b20a2d4
Criamos certificados OpenSSL na VM e configuramos no config.yaml, então estava dando erro ao verificar os logs do módulo ASA mobule ou Simulated Sensor.