IoT Edge에서 Azure Stream Analytics를 탐색하려고 합니다. 우리는 다음과 같습니다이것지도 시간.
우리는 다음 단계를 수행했습니다.
- 하나의 Windows VM을 만들었습니다.
- Edge 장치 1개 생성
- Azure Stream Analytics 모듈에서 생성되고 입력, 출력 및 쿼리가 구성되었습니다.
- Azure Market Place의 시뮬레이션된 온도 습도 센서 센서가 추가되었습니다.
- Azure Stream Analytics 모듈이 추가되었습니다.
- 자습서에 언급된 대로 경로를 구성하고 Edge 장치(Azure VM)에 배포합니다.
명령을 사용하면 장치(Windows VM)의 4개 항목을 볼 수 있습니다. 시뮬레이션된 센서가 데이터를 전송하고 있지만 ASA 작업에 작성된 쿼리가 트리거되지 않습니다. edgeHub의 로그를 확인하는 동안 아래 오류를 발견했습니다.
TLS 핸드셰이크가 실패했습니다., System.AggregateException: 하나 이상의 오류가 발생했습니다. (패키지에 제공된 자격 증명이 인식되지 않았습니다.) ---> System.ComponentModel.Win32Exception: 패키지에 제공된 자격 증명이 System.Net.SSPIWrapper.AcquireCredentialsHandle(SSPIInterface secModule, String package, CredentialUseintent, SCHANNEL_CRED scc에서 인식되지 않았습니다. ) System.Net.Security.SslStreamPal.AcquireCredentialsHandle(CredentialUse credUsage, SCHANNEL_CRED secureCredential) at System.Net.Security.SslStreamPal.AcquireCredentialsHandle(X509Certificate 인증서, SslProtocols 프로토콜, EncryptionPolicy 정책, Boolean isServer) at System.Net.Security.SecureChannel. System.Net.Security.SecureChannel.GenerateToken(Byte[] 입력, Int32 오프셋, Int32 개수, Byte[]& 출력)의 AcquireServerCredentials(Byte[]& ThumbPrint, Byte[] clientHello) at System.Net.Security.SecureChannel. System.Net.Security.SslState.StartSendBlob(Byte[] 수신, Int32 개수, AsyncProtocolRequest asyncRequest)의 NextMessage(Byte[] 수신, Int32 오프셋, Int32 개수) System.Net.Security.SslState.ProcessReceivedBlob(Byte[] 버퍼 , Int32 개수, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.PartialFrameCallback(AsyncProtocolRequest asyncRequest) --- 스택 추적 끝 예외가 발생한 이전 위치에서 --- System.Net.Security.SslState.ThrowIfExceptional() at System.Net.Security.SslState.InternalEndProcessAuthentication(LazyAsyncResultlazyResult) at System.Net.Security.SslState.EndProcessAuthentication(IAsyncResult result) System.Net.Security.SslStream.EndAuthenticateAsServer(IAsyncResult asyncResult), System.Net.Security.SslStream.<>c.b__50_2(IAsyncResult iar), System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar, Func2 endFunction, Action1) endAction, Task1 promise, Boolean requireSynchronization) --- 내부 예외 스택 추적 끝 --- ---> (내부 예외 #0) System.ComponentModel.Win32Exception(0x8009030D): 패키지에 제공된 자격 증명이 시스템에서 인식되지 않았습니다. .Net.SSPIWrapper.AcquireCredentialsHandle(SSPIInterface secModule, String package, CredentialUse 인텐트, SCHANNEL_CRED scc) at System.Net.Security.SslStreamPal.AcquireCredentialsHandle(CredentialUse credUsage, SCHANNEL_CRED secureCredential) at System.Net.Security.SslStreamPal.AcquireCredentialsHandle(X50) 9인증서, System.Net.Security.SecureChannel.AcquireServerCredentials(Byte[]& ThumbPrint, Byte[] clientHello)의 SslProtocols 프로토콜, EncryptionPolicy 정책, 부울 isServer), System.Net.Security.SecureChannel.GenerateToken(Byte[] 입력, Int32 오프셋, Int32 개수, Byte[]& 출력) at System.Net.Security.SecureChannel.NextMessage(Byte[] 수신, Int32 오프셋, Int32 개수) at System.Net.Security.SslState.StartSendBlob(Byte[] 수신, Int32 개수,AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest) at System. Net.Security.SslState.PartialFrameCallback(AsyncProtocolRequest asyncRequest) --- 예외가 발생한 이전 위치의 스택 추적 끝 --- System.Net.Security.SslState.ThrowIfExceptional(), System.Net.Security.SslState.InternalEndProcessAuthentication (LazyAsyncResultlazyResult) at System.Net.Security.SslState.EndProcessAuthentication(IAsyncResult 결과) at System.Net.Security.SslStream.EndAuthenticateAsServer(IAsyncResult asyncResult) at System.Net.Security.SslStream.<>c.b__50_2(IAsyncResult iar) System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar, Func2 endFunction, Action1 endAction, Task1 promise, Boolean requireSynchronization)<--- , 1b20a2d4
VM에서 OpenSSL 인증서를 생성하고 config.yaml에서 구성한 다음 ASA 모바일 또는 시뮬레이션된 센서 모듈의 로그를 확인하는 동안 오류가 발생했습니다.