共用方式為


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

本檔列出裝置更新用戶回報的一些常見問題和問題。 如果您遇到此疑難解答指南中未出現的問題,請參閱 連絡Microsoft支援 一節來記錄您的情況。

匯入更新

問:我已成功匯入更新,但未顯示為可供我部署至應該相容的裝置

請仔細檢查您的匯入指令清單 .json 檔案沒有任何意外錯誤,特別是在 Compatibility 物件 值中。 匯入指令清單中的相容性屬性必須與裝置所報告的屬性完全相符,這可確保正確的更新一律只會傳送到正確的裝置。 例如,匯入清單中可能有拼寫錯誤,因此相容性屬性值與裝置報告的內容相比,可能出現字元缺漏、轉置或多餘。 如果是,IoT 中樞服務的裝置更新無法符合該裝置的更新。 如果您已經匯入更新,您可以按下該更新的 [詳細數據] 鏈接,然後按下右側飛出視窗中的 [其他詳細數據],快速檢查相容性屬性的問題。 您可以從該處檢視該更新的匯入指令清單 JSON 內容,並識別任何潛在的錯誤。

問:我無法將裝置更新實例連線到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 錯誤或 API 許可權問題所造成。 請遵循連絡Microsoft支援一節中的指示,向Microsoft提出支援請求。

問:我已啟動部署,但尚未達到最終狀態。

此狀況可能是因為服務效能問題、服務錯誤或客戶端錯誤所造成。 10 分鐘後重試您的部署。 如果您遇到相同的問題,請提取您的裝置記錄,並參閱本疑難解答指南的「裝置失敗」一節。 如果持續發生相同的問題,請遵循連 絡Microsoft支援 一節中的指示,向Microsoft提出支援要求。

問:我已從裝置層級代理移轉,將代理作為模組身分識別新增到裝置上。 現在我的更新會顯示為「進行中」,即使它已套用至裝置

如果未移除仍使用 Device Twin 進行通訊的較舊代理程式,就會發生此情況。 當您將裝置更新代理程式布建為模組時(請參閱 作法),裝置與裝置更新服務之間的所有通訊都會透過模組雙胞胎進行。 請記得在建立 群組 時標記裝置的模組對應項,而且所有 通訊 都必須透過模組對應項進行。

將更新下載到裝置

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

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

使用 Microsoft 網內快取 (MCC)

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

請參閱 IoT Edge 檔 ,以將 Edge 模組部署至 IoT Edge 裝置。 您可以瀏覽至 ,檢查 MCC 模組是否在 IoT Edge 裝置上成功執行 http://localhost:5100/Summary.

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

有數個問題可能會導致IoT裝置在連線到 MCC 時失敗。 若要診斷問題,請從失敗的裝置收集 DO 用戶端和 Nginx 記錄(如需收集客戶端記錄的指示,請參閱 連絡Microsoft支援 一節)。

您的裝置可能無法從因特網提取內容以傳遞至其 MCC 模組,因為不允許其使用的 URL。 在 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]。
    • 選取 [新增角色指派]。
    • 選取讀者角色(或具有對等許可權的讀者角色)。
    • 在「成員」旁,選取「+選取成員」。
    • 在右側飛出視窗中新增您的帳戶,然後選取 [選取] 按鈕。
    • 選取 [檢閱 + 指派]。

深入瞭解裝置更新服務 的角色型訪問控制

聯絡微軟的支援中心

如果您遇到無法使用此頁面上的內容來解決的問題,您可以透過 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 回應存取。

部署識別碼

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

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

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

IoT 中樞實例名稱

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

第一次布建時,用戶會選擇IoT中樞名稱。

裝置更新帳戶名稱

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

第一次註冊服務時,用戶會選擇裝置更新帳戶名稱。 如需詳細資訊,請參閱 裝置更新資源 檔。

裝置更新實例名稱

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

第一次布建時,用戶會選擇裝置更新實例名稱。 如需詳細資訊,請參閱 裝置更新資源 檔。

裝置標識碼

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

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

更新標識碼

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

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

Nginx 記錄

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

ADU-conf.txt

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

組態檔是選擇性的,由使用者遵循 裝置更新組態 檔中的指示所建立。

匯入資訊清單

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

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

後續步驟

深入瞭解裝置更新錯誤碼