共用方式為


IoT 中樞裝置更新疑難排解指南

此文件列出裝置更新使用者回報的一些常見疑問與問題。 若您遇到此疑難排解指南中未出現的問題,請參閱連絡 Microsoft 支援服務一節以記錄您的情況。

匯入更新

問:我在將裝置更新執行個體連線至我的 IoT 中樞執行個體時遇到問題

請確保您已根據裝置更新資源文件正確設定 IoT 中樞訊息路由。

您可能沒有正確設定的存取權限。 請確保您已根據裝置更新存取控制文件正確設定存取權限。

問:我在將內容匯入裝置更新服務時遇到 500 類型錯誤

500 範圍內的錯誤碼可能表示裝置更新服務發生問題。 請稍候 5 分鐘,然後再試一次。 若持續發生相同的錯誤,請遵循連絡 Microsoft 支援服務一節中的指示,向 Microsoft 提出支援要求。

問:我想要保留相同的相容性屬性 (將更新的目標設定為相同裝置類型),但在匯入資訊清單中變更 Provider 與 Name。 但當我這麼做時,收到「失敗:因超過限制,導致匯入更新時發生錯誤」的錯誤

同一組完全相同的相容性屬性不能與一個以上的 Provider 及 Name 組合搭配使用。 這可讓裝置更新服務確實判斷應提供哪些更新以部署至指定的裝置。 若您需要在單一裝置上更新多個元件或分割區,Proxy 更新功能會提供該功能。

問:我在匯入內容時遇到錯誤訊息,想要深入了解其相關資訊

如需匯入相關錯誤訊息的詳細資訊,請參閱裝置更新錯誤碼文件。

裝置失敗

問:如何確保我的裝置已連線至 IoT 中樞裝置更新?

您可以藉由檢查裝置是否出現在 Azure 入口網站的合規性檢視中,以確認裝置是否已連線至裝置更新。

問:我有一或多部裝置無法更新

裝置更新失敗有許多可能的根本原因。 請驗證裝置是否:1) 已連線至您的 IoT 中樞執行個體、2) 已連線至裝置更新執行個體,以及 3) 正在執行傳遞最佳化 (DO) 服務。 針對您的裝置,若以上三點均為是,請遵循連絡 Microsoft 支援服務一節中的指示,向 Microsoft 提出支援要求。

問:我的裝置更新代理程式無法啟動

裝置更新代理程式啟動失敗的其中一個最常見原因是格式錯誤的設定檔 (du-config.json)。 請參閱組態檔文件,並確定代理程式已正確設定。 請注意,組態檔中的所有值都必須使用雙引號。

部署更新

問:我已將更新部署至裝置,但合規性狀態指出該更新不在最新的更新中。 我該怎麼做?

裝置合規性狀態最多可能需要 5 分鐘的時間來重新整理。 請稍後再檢查一次。

問:我的裝置部署狀態顯示不相容,我該怎麼做?

將裝置連線至 IoT 中樞之後,目標裝置的製造商與機型屬性可能已經變更,導致現在將裝置視為與目前部署的更新內容不相容。

檢查 ADU 核心介面,以查看裝置回報給裝置更新服務的製造商與機型,並確定其與您在所部署更新內容匯入資訊清單中指定的製造商與機型相符。 您可以使用裝置更新設定檔來變更指定裝置的這些屬性。

問:我看到我的部署處於「作用中」階段,但沒有進行更新的任何裝置處於「進行中」狀態。 我該怎麼做?

請確保部署開始日期不是設定在未來。 當您建立新的部署時,除非明確變更部署開始日期,否則會將該日期預設為隔天以確保作業順利進行。 您可以等候部署開始日期到來,或取消進行中的部署,並使用所需的開始日期來建立新的部署。

問:我嘗試將裝置分組,但在建立群組時,沒有在下拉式清單中看到標籤

請確保您已根據裝置更新資源文件,正確設定 IoT 中樞的訊息路由。 設定路由之後,您必須再次標記您的裝置。

另一個根本原因可能是您在將裝置連線至 IoT 中樞裝置更新之前,先套用了標籤。 確保您的裝置已連線至裝置更新。 您可以藉由檢查裝置是否出現在合規性檢視中的「未分組」裝置下,來確認裝置是否已連線至 IoT 中樞裝置更新。 先暫時新增不同值的標籤,裝置連線後再新增您的預定標籤。

若您使用裝置佈建服務 (DPS),請確保您在佈建裝置之後 (而不是裝置建立程序期間) 標記裝置。 若您在裝置建立步驟期間已標記您的裝置,則必須在佈建裝置之後,暫時以不同值標記您的裝置,然後再新增您的預定標籤。

問:我的部署已順利完成,但某些裝置無法更新

這可能是因為失敗裝置上的用戶端錯誤所造成。 請參閱此疑難排解指南的<裝置失敗>一節。

問:嘗試起始部署時,我在 UX 中遇到錯誤

這可能是因為服務/UX Bug 或 API 權限問題所造成。 請遵循連絡 Microsoft 支援服務一節中的指示,向 Microsoft 提出支援要求。

問:我已啟動部署,但未達到結束狀態

這可能是因為服務效能問題、服務 Bug 或用戶端 Bug 所造成。 請在 10 分鐘後重試一次您的部署。 若您遇到相同的問題,請提取您的裝置記錄,並參閱此疑難排解指南的<裝置失敗>一節。 若持續發生相同的問題,請遵循連絡 Microsoft 支援服務一節中的指示,向 Microsoft 提出支援要求。

問:我已從裝置層級代理程式移轉至將代理程式新增為裝置上的模組身分識別,而我的更新還是顯示為「進行中」,即使其已套用至裝置也一樣

若您未移除透過裝置對應項通訊的較舊代理程式,就可能會造成此問題。 當您將裝置更新代理程式佈建為模組 (請參閱指南),裝置與裝置更新服務之間的所有通訊都會透過模組對應項進行,因此請務必記住,在建立群組時標記裝置的模組對應項,且所有通訊都必須透過模組對應項進行。

將更新下載至裝置

問:當裝置在中斷連線一段時間後已重新連線,如何繼續下載?

在 24 小時內還原連線時,下載將會自行繼續。 24 小時之後,使用者必須將下載重新初始化。

使用 Microsoft 網內快取 (MCC)

問:我嘗試在 IoT Edge 裝置上部署 MCC 模組時遇到問題

如需將 Edge 模組部署至 IoT Edge 裝置,請參閱 IoT Edge 文件。 您可以藉由巡覽至 http://localhost:5100/Summary.,來檢查 MCC 模組是否順利在 IoT Edge 裝置上執行

問:我的其中一個 IoT 裝置嘗試透過 MCC 下載更新,但失敗了

有數個問題可能會造成 IoT 裝置無法連線至 MCC。 若要診斷問題,請從失敗的裝置收集 DO 用戶端與 Nginx 記錄 (請參閱連絡 Microsoft 支援服務一節,以取得收集用戶端記錄的指示)。

因為不允許您裝置所使用的 URL,導致其可能無法從網際網路提取內容以傳遞至其 MCC 模組。 若要判斷是否如此,您必須檢查 Azure 入口網站中的 IoT Edge 環境變數。

針對 Azure 入口網站中遺漏的執行個體進行疑難排解

問:當我選取「齒輪」圖示時,我看不到 IoT 中樞的裝置更新執行個體

此問題有幾個可能的原因。 如需疑難排解步驟,請參閱下文。

裝置更新執行個體必須與相同資源群組和訂用帳戶中的 Azure IoT 中樞相關聯。 如果您已將裝置更新執行個體或中樞移至不同的資源群組或訂用帳戶,則可能不會在 Azure 入口網站中看到您的執行個體。 您必須執行下列步驟之一,才能繼續使用使用於 IoT 中樞的裝置更新:

  • 將移動的項目回復為其原始設定。
  • 如果您只將 IoT 中樞從一個資源群組移至另一個資源群組,請使用 IoT 中樞的新 resourceId 修改您的裝置更新執行個體。
  • 如果您將項目從某個訂用帳戶移至另一個訂用帳戶,請確定裝置更新帳戶和 IoT 中樞位於相同的訂用帳戶中,然後使用 IoT 中樞的新 resourceId 修改您的裝置更新執行個體。

IoT 中樞和 IoT 中樞帳戶的裝置更新至少需要讀取層級權限,才能透過 Azure 入口網站中的 IoT 中樞體驗來存取裝置更新功能。

  • 若要管理 IoT 中樞的權限:
    • 從 Azure 入口網站選取您的中樞
    • 從左側導覽列中選取 [存取控制 (IAM)]。
    • 選取 [新增角色指派]。
    • 選取至少具有讀取權限的角色,然後選取 [下一步]。
    • 在 [成員] 旁,選取 [+選取成員]。
    • 在右側飛出視窗中新增您的帳戶,然後選取 [選取] 按鈕。
    • 選取 [檢閱 + 指派]。
  • 若要針對 IoT 中樞帳戶管理裝置更新的權限,請要求帳戶的擁有者採取下列步驟:
    • 從 Azure 入口網站選取您的裝置更新帳戶。
    • 從左側導覽列中選取 [存取控制 (IAM)]。
    • 選取 [新增角色指派]。
    • 選取 [讀取者] 角色 (或具有同等權限的角色)。
    • 在 [成員] 旁,選取 [+選取成員]。
    • 在右側飛出視窗中新增您的帳戶,然後選取 [選取] 按鈕。
    • 選取 [檢閱 + 指派]。

深入了解裝置更新服務的角色型存取控制

連絡 Microsoft 支援服務

若您遇到無法使用上述常見問題集解決的問題,可以透過 Azure 入口網站介面向 Microsoft 支援服務提出支援要求。 依據您指出問題所屬的類別,可能會要求您收集並共用其他資料,以協助 Microsoft 支援服務調查您的問題。

如需如何收集每種資料類型的指示,請參閱下文。

您可以使用 getDevice 來檢查 API 承載回應中的其他資訊。

此外,下列資訊也有助於縮小問題的根本原因:

  • 您嘗試更新的裝置類型 (IoT Edge 閘道、其他)
  • 您正在使用的裝置更新用戶端類型 (映像式、套件式、模擬器)
  • 您裝置正在執行的 OS
  • 關於您裝置架構的詳細資料
  • 您之前是否已成功使用裝置更新來更新裝置

若您有上述任何可用資訊,請將其包含在問題的描述中。

收集用戶端記錄

  • 在 Raspberry Pi 裝置上,有兩組記錄可在此處找到:

    /adu/logs
    
    /var/cache/do-client-lite/log
    
  • 針對已封裝的用戶端,您可以在此處找到記錄:

    /var/log/adu
    
    /var/cache/do-client-lite/log
    
  • 針對模擬器,您可以在此處找到記錄:

    /tmp/aduc-logs
    

錯誤碼

回報與匯入更新、裝置失敗或部署更新相關的問題時,可能會要求您提供錯誤碼。

查看 ADUCoreInterface 介面即可取得錯誤碼。 如需如何剖析錯誤碼以進行自我診斷與疑難排解的資訊,請參閱裝置更新錯誤碼文件。

追蹤識別碼

回報與匯入或部署更新相關的問題時,可能會要求您提供追蹤識別碼。

指定使用者動作的追蹤識別碼可以在 API 回應中,或在 Azure 入口網站使用者介面的 [匯入記錄] 區段中找到。

目前,只能透過 API 回應存取部署動作的追蹤識別碼。

部署 ID

回報與部署更新相關的問題時,可能會要求您提供部署識別碼。

呼叫 API 以起始部署時,使用者會建立部署識別碼。

目前,會自動產生從 Azure 入口網站使用者介面起始之部署的部署識別碼,且不會呈現給使用者。

IoT 中樞執行個體名稱

回報與裝置失敗或部署更新相關的問題時,可能會要求您提供 IoT 中樞執行個體的名稱。

第一次佈建時,使用者會選擇 IoT 中樞名稱。

裝置更新帳戶名稱

回報與匯入更新、裝置失敗或部署更新相關的問題時,可能會要求您提供裝置更新帳戶的名稱。

第一次註冊服務時,使用者會選擇裝置更新帳戶名稱。 您可在裝置更新資源文件中找到詳細資料。

裝置更新執行個體名稱

回報與匯入更新、裝置失敗或部署更新相關的問題時,可能會要求您提供裝置更新執行個體的名稱。

第一次佈建時,使用者會選擇裝置更新執行個體名稱。 您可在裝置更新資源文件中找到詳細資料。

裝置識別碼

回報與裝置失敗或部署更新相關的問題時,可能會要求您提供裝置識別碼。

第一次佈建裝置時,客戶會定義裝置識別碼。 其也可以從裝置的裝置對應項中擷取。

更新識別碼

回報與部署更新相關的問題時,可能會要求您提供更新識別碼。

起始部署時,客戶會定義更新識別碼。

Nginx 記錄

回報與 Microsoft 網內快取相關的問題時,可能會要求您提供 Nginx 記錄。

ADU-conf.txt

回報與部署更新相關的問題時,可能會要求您提供裝置更新設定檔 ("adu-conf.txt")。

設定檔為選擇性,且由使用者遵循裝置更新設定文件中的指示所建立。

匯入資訊清單

回報與匯入或部署更新相關的問題時,可能會要求您提供匯入資訊清單檔。

匯入資訊清單是客戶將更新內容匯入裝置更新服務時所建立的檔案。

下一步

深入了解裝置更新錯誤碼