共用方式為


診斷並解決 Azure 時間序列深入解析 Gen1 環境中的問題

注意

時間序列深入解析服務將於 2024 年 7 月 7 日淘汰。 請考慮儘快將現有的環境移轉至替代解決方案。 如需淘汰和移轉的詳細資訊,請造訪我們的文件

警告

這是 Gen1 文章。

本文說明您在 Azure 時間序列深入解析 環境中可能會遇到的問題。 本文提供解決的可能原因和解決方案。

影片

瞭解常見的 Azure 時間序列深入解析 挑戰和風險降低

問題:未顯示任何數據

如果 Azure 時間序列深入解析 總管中未顯示任何數據,請考慮這些常見原因。

原因 A:事件源數據不是 JSON 格式

Azure 時間序列深入解析 僅支援 JSON 數據。 如需 JSON 範例,請參閱 支援的 JSON 圖形

原因 B:事件來源金鑰遺失必要的許可權

  • 針對 Azure IoT 中樞 中的IoT中樞,您必須提供具有服務連線許可權的密鑰。 選取 iothubowner 或服務原則。 兩者都有服務連線許可權。

    IoT 中樞 服務連線許可權

  • 針對 Azure 事件中樞 中的事件中樞,您必須提供具有接聽許可權的密鑰。 讀取和管理原則都會運作,因為它們都有接聽許可權。

    事件中樞接聽許可權

原因 C:提供的取用者群組並非專屬於 Azure 時間序列深入解析

當您註冊 IoT 中樞或事件中樞時,請務必設定您想要用來讀取數據的取用者群組。 無法共用此取用者群組。 如果共享取用者群組,基礎 IoT 中樞或事件中樞會自動中斷連線,並隨機中斷其中一個讀取器。 提供要讀取 Azure 時間序列深入解析 的唯一取用者群組。

原因 D:環境剛剛布建

數據會在您 Azure 時間序列深入解析 總管中顯示在環境及其數據第一次建立后的幾分鐘內。

問題:顯示某些數據,但數據遺失

當數據只出現部分且數據似乎落後時,請考慮這些可能的問題。

原因 A:您的環境正在節流

當您建立具有數據的事件來源時,節流是布建環境時的常見問題。 Azure IoT 中樞 和 Azure 事件中樞會儲存最多七天的數據。 Azure 時間序列深入解析 一律從事件來源中最舊的事件開始(先入、先出或 FIFO)。

例如,如果您在連線到 S1、單一單位 Azure 時間序列深入解析 環境時,事件來源中有 500 萬個事件,Azure 時間序列深入解析 每天讀取大約 100 萬個事件。 看起來 Azure 時間序列深入解析 遇到五天的延遲。 但正在發生的事情是環境正在節流。

如果您的事件來源中有舊事件,您可以使用下列兩種方式之一來接近節流:

  • 變更事件來源的保留限制,以協助移除您不想顯示在 Azure 時間序列深入解析 中的舊事件。
  • 布建較大的環境大小(單位數目),以增加舊事件的輸送量。 在上述範例中,如果您將相同的 S1 環境增加到一天五個單位,環境應該會在一天內趕上。 如果您的穩定狀態事件生產每天為 100 萬或更少事件,您可以在 Azure 時間序列深入解析 趕上之後,將事件容量縮減為一個單位。

強制執行的節流限制是以環境的 SKU 類型和容量為基礎。 環境中的所有事件來源都會共用此容量。 如果 IoT 中樞或事件中樞的事件來源推送數據超出強制執行的限制,您將會遇到節流和延遲。

下圖顯示具有 S1 SKU 且容量為 3 的 Azure 時間序列深入解析 環境。 它可以每天輸入 300 萬個事件。

環境容量

想像一下從事件中樞內嵌訊息的環境。 其每日輸入速率約為 67,000 則訊息。 此速率會每分鐘轉譯為大約 46 則訊息。

  • 如果每個事件中樞訊息扁平化為單一 Azure 時間序列深入解析 事件,則不會發生節流。
  • 如果每個事件中樞訊息扁平化為 100 Azure 時間序列深入解析 事件,則每分鐘應該擷取 4,600 個事件。

容量為 3 的 S1 SKU 環境每分鐘只能輸入 2,100 個事件(每天 100 萬個事件 = 每分鐘 700 個事件,每分鐘 2,100 個事件)。

若要深入瞭解扁平化邏輯的運作方式,請參閱 支援的 JSON 圖形

若要修正延隔時間,請增加環境的SKU容量。 如需詳細資訊,請參閱調整您的 Azure 時間序列深入解析 環境

原因 B:初始擷取歷程記錄數據會使輸入變慢

如果您連接現有的事件來源,則 IoT 中樞或事件中樞可能已經包含數據。 環境會開始從事件來源訊息保留期間開頭提取數據。 無法覆寫此默認處理。 您可以參與節流。 節流可能需要一些時間才能趕上擷取歷程記錄數據。

若要修正延隔時間:

  1. 將 SKU 容量增加到允許的最大值 (10,在此案例中為 )。 增加容量之後,輸入程式會開始更快趕上。 您需支付增加容量的費用。 若要將趕上的速度可視化,您可以在 Azure 時間序列深入解析 總管中檢視可用性圖表。

  2. 當延遲趕上時,請將 SKU 容量降低到您的一般輸入速率。

問題:數據先前顯示,但不再顯示

如果 Azure 時間序列深入解析 不再內嵌數據,但事件仍在串流至IoT中樞或事件中樞,請考慮此潛在原因。

原因 A:您的中樞存取金鑰已重新產生,且您的環境必須更新

當您建立事件來源時提供的密鑰不再有效時,就會發生此問題。 您會在中樞中看到遙測,但 Azure 時間序列深入解析 中沒有輸入接收的訊息。 如果您不確定金鑰是否已重新產生,您可以搜尋事件中樞的活動記錄檔中的「建立或更新命名空間授權規則」。針對IoT中樞,搜尋「建立或更新IotHub資源」。

若要使用新的金鑰更新您的 Azure 時間序列深入解析 環境,請在 Azure 入口網站 中開啟中樞資源,並複製新的密鑰。 移至您的 Azure 時間序列深入解析 資源,然後選取 [事件來源]:

選取事件來源

選取擷取已停止的事件來源或來源,貼上新的密鑰,然後選取 [ 儲存]:

貼上新金鑰

問題:事件來源的 timestamp 屬性名稱設定無法運作

請確定以 JSON 字串形式來自事件來源的 timestamp 屬性值格式 為 yyyy-MM-ddTHH:mm:ss。FFFFFFFK。 以下是範例: 2008-04-12T12:53Z

請記住,timestamp 屬性名稱會區分大小寫。

確保擷取時間戳屬性名稱並正常運作的最簡單方式,就是使用 Azure 時間序列深入解析 總管。 在 Azure 時間序列深入解析 總管中,使用圖表選取一段時間后,輸入 timestamp 屬性名稱。 以滑鼠右鍵按下選取專案,然後選取 [ 探索事件]。

第一個數據行標頭應該是您的 timestamp 屬性名稱。 [時間戳] 一字旁會顯示 ($ts)。

將不會顯示下列值:

  • (abc):表示 Azure 時間序列深入解析 以字串的形式讀取數據值。
  • 行事歷圖示:表示 Azure 時間序列深入解析 以日期時間值讀取數據值。
  • #:表示 Azure 時間序列深入解析 以整數讀取數據值。

下一步