我們正在嘗試探索 IoT Edge 中的 Azure 流程分析。我們正在關注這教程。
我們已完成以下步驟:
- 創建了一台 Windows 虛擬機
- 創建一台邊緣設備
- 在Azure流分析模組上創建,配置輸入、輸出和查詢
- 增加了來自 Azure Market Place 的模擬溫度濕度感測器感測器
- 新增了 Azure 串流分析模組
- 按照教程中所述配置路由並部署在邊緣設備(Azure VM)中
透過使用命令,我可以看到設備(Windows VM)中的 4 個項目。模擬感測器正在發送數據,但未觸發寫入 ASA 作業中的查詢。在檢查edgeHub的日誌時,我們發現以下錯誤:
TLS 握手失敗。 (無法辨識提供給套件的憑證) ---> System.ComponentModel.Win32Exception:System.Net.SSPIWrapper.AcquireCredentialsHandle(SSPIInterface secModule,String package,CredentialUse Intent,SCHANNEL_CRED scc)無法辨識給套件的憑證Net.Security.SslStreamPal.AcquireCredentialsHandle(CredentialUse credUsage,SCHANNEL_CRED secureCredential)在System.Net.Security.SslStreamPal.AcquireCredentialsHandle(X509Certificate證書,SslProtocolsChannel,EnquireCredentialsHandle(X509Certificate證書,SslProtocolsChannel,EnquireB.S. Byte[ ]&thumbPrint, Byte[] clientHello) at System.Net.Security.SecureChannel.GenerateToken(Byte[] input, Int32 offset, Int32 count, Byte[]& output) at System.Net.Security.SecureChannel. NextMessage(Byte[]傳入,Int32 偏移量,Int32 計數)在System.Net.Security.SslState.StartSendBlob(Byte[] 傳入,Int32 計數,AsyncProtocolRequest asyncRequest)在System.Net.Security.SslState.ProcessReceivedBlob(Byte[] ) , Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.PartialFrameCampalkquestcRequest) 追蹤。從先前引發例外狀況的位置開始--- 在System.Net.Security.SslState.ThrowIfExceptional() 在System.Net.Security.SslState.InternalEndProcessAuthentication(LazyAsyncResult lazyResult) 在System.Net.Security.Sslult.EndProcessProcessAuthentiult(IAProcessAuthcync)在System.Net.Security.SslStream.EndAuthenticateAsServer(IAsyncResult asyncResult) 在System.Net.Security.SslStream.<>c.b__50_2(IAsyncResult iar) 在System.Threading.Tasks.TReaski1.FuncA Function FuncFs. endAction、Task1 Promise、Boolean requireSynchronization) --- 內部異常堆疊追蹤結束--- ---> (內部異常#0) System.ComponentModel.Win32Exception (0x8009030D):系統無法辨識提供給套件的憑證.Net.SSPIWrapper.Net.SSPIWrapper .AcquireCredentialsHandle(SSPIInterface secModule,字串包,CredentialUse意圖,SCHANNEL_CRED scc)在System.Net.Security.SslStreamPal.AcquireCredentialsHandle(CredentialUse credUsage,SCHANNEL_CREDStreamStreamCredentialsHandle(CredentialUse credUsage,SCHANNEL_CREDStream StreamS. , SslProtocols 協議、EncryptionPolicy 策略、Boolean isServer) 在System.Net.Security.SecureChannel.AcquireServerCredentials(Byte[]&thumbPrint, Byte[] clientHello) 在System.Net.Security.SecureChannel.GenerateToken(Byte[] input, Int3232 Int323253253532532532535325325325325325325325325325375375375325 Byte[]& 輸出)在System.Net.Security.SecureChannel.NextMessage(Byte[] 傳入,Int32 偏移量,Int32 計數)在System.Net.Security.SslState.StartSendBlob(Byte[] 傳入,Int32 計數,AsyncProtocolRequest asyncRequest) 在 System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest) 在 System.Net.Security.SslState.StartReadFrame(Byte[]Request, Int32. Net.Security.SslState.PartialFrameCallback(AsyncProtocolRequest asyncRequest) --- 從先前引發例外狀況的位置開始的堆疊追蹤結束--- 在System.Net.Security.SslState.ThrowIfExceptional() 在System.Net.Security.SslState.InterslState.ThrowIfExceptional() 在System.Net.Security.SslState.InterslState.Authentinal光(LazyAsyncResult lazyResult) 在System.Net.Security.SslStream.EndAuthenticateAsServer(IAsyncResult asyncResult) 在SystemStreamStream.Net.SSive.在System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar,Func2 endFunction,Action1 endAction,Task1承諾,布林需要Synchronization)<---,1b20a2d4
我們在虛擬機器中建立了 OpenSSL 憑證並在 config.yaml 中進行了配置,然後在檢查 ASA mobule 或模擬感測器模組的日誌時發生錯誤。