AWS IoT Analytics 常見問答集

問:AWS IoT Analytics 是什麼?

AWS IoT Analytics 是一項全受管 IoT 分析服務,可大規模收集、預先處理、強化、存放及分析 IoT 裝置資料。 IoT Analytics 可以執行簡單的臨機操作查詢以及複雜的分析,而且當我們需要了解裝置效能、預測裝置故障和機器學習時,這是一種較簡便的執行 IoT 分析方式。它專為 IoT 設計,可自動擷取和存放訊息時間戳記,讓您輕鬆執行時間序列分析。 IoT Analytics 還可以利用 AWS IoT Registry,在資料中加入裝置專屬中繼資料,例如裝置類型和位置。 AWS IoT Analytics 會將資料存放在 IoT 優化的資料存放區中,以便您在大型資料集上執行查詢。您也可以使用 AWS IoT Analytics 來執行自訂編寫程式碼的容器。AWS IoT Analytics 會將您在 Jupyter Notebook 或自己的工具 (例如 Matlab、Octave 等等) 中所建立之自訂分析的執行自動化。

問:AWS IoT Analytics 如何運作?

AWS IoT Analytics 與 AWS IoT Core 完全整合,可以更容易上手。首先,定義一個通道並選擇要收集的資料,這樣就能只存放和分析您關心的資料,例如感應器溫度。設定好通道之後,接著設定資料的處理管道。管道支援利用外部資料來源和 AWS Lambda 函數進行轉換,例如攝氏與華氏的轉換、條件陳述式、訊息篩選和訊息充實。

透過管道處理資料之後,IoT Analytics 會將其存放在 IoT 優化的資料存放區中等候分析。您可以使用內建的 SQL 查詢引擎來查詢資料,以解答特定的業務問題。例如,您可能想知道機群中的每一個裝置,每個月有多少個作用中使用者。IoT Analytics 與 Amazon SageMaker 整合後,可支援更複雜的分析,例如貝葉斯推論和機器學習。另外,與 Amazon QuickSight 整合後,視覺化和儀表板的建置變得更容易,您還能從 IoT Analytics 資料中快速獲得商業見解。

問:我是否可以在 AWS IoT Analytics 上執行我的自訂分析程式碼?

是的,您可以將自己的自訂分析包裝在容器中,以在 AWS IoT Analytics 上執行。您可以在容器資料集中匯入您的自訂程式碼容器,以及排程容器的執行。

問:SQL 資料集與容器資料集有何差異?

SQL 資料集類似於 SQL 資料庫的具體化畫面。事實上,套用 SQL 動作即可建立 SQL 資料集。也可透過指定觸發在重複排程時自動產生 SQL 資料集。

容器資料集可讓您自動執行分析工具並產生結果。它結合了 SQL 資料集做為輸入,含有分析工具的 Docker 容器,以及所需的程式庫檔案、輸入和輸出變數,以及選用的排程觸發。輸入和輸出變數會告知可執行的映像要在何處取得資料和儲存結果。觸發可以在 SQL 資料集完成內容的建立時或根據時間排程表達式來執行您的分析。容器資料集將會自動執行,產生然後儲存分析工具的結果。

問:什麼是 DeltaTime 時段?

差異時段是一系列使用者定義、非重疊和接續的時間間隔。差異時段可讓您使用自從上次分析後到達資料存放區的新資料來建立資料集內容並執行分析。您可以透過在資料集 queryAction 篩選部分中設定 DeltaTime 來建立差異時段。基本上,這可讓您篩選在特定時段期間到達的訊息,使得來自前一個時段訊息中包含的資料不會被重複計算。

問:我如何在 AWS IoT Analytics 上按我偏好的排程執行自訂程式碼容器?

您可以將自己的自訂分析程式碼包裝在容器中,以在 AWS IoT Analytics 上執行。您可以透過 AWS IoT Analytics 主控台或 API 來建立容器資料集,方法是指定您的 SQL 資料集、自訂程式碼容器映像、輸入和輸出變數和選用的排程做為參數,其中的觸發可以是 SQL 資料集內容建立或排程的事件。容器資料集會將 SQL 資料集的內容饋送至容器映像中可用的分析程式碼,並根據您的觸發自動執行映像,以按您偏好的排程產生見解。

問:資料存放區和通道的保留政策為何?

您可以選擇在資料存放區和通道上設定自己的資料保留政策。您可以選擇任何天數的保留期。如果沒有選擇任何保留期,服務會無限期地保留您的資料。

問:AWS IoT Analytics 支援哪些類型的訊息格式?

AWS IoT Analytics 服務支援 JSON 和二進位格式 (二進位 JSON、協定緩衝區等)。訊息是二進位格式的情況下,管道的第一個活動必須是 Lambda 活動,且輸出要是有效的 JSON。

問:是否可以重新處理連接管道的通道資料?

是,您可以使用 StartPipelineReprocessing 重新處理連接到管道的通道資料。如果想要使用其他管道重新處理通道資料,您必須將管道連接到適當的通道。

問:如何使用導入 API 將資料放入 AWS IoT Analytics?

您可以使用 BatchPutMessage API,將資料從 Amazon S3Amazon Kinesis 等來源或任何其他資料來源傳送到 AWS IoT Analytics。您可以在 Lambda 函數或任何其他指令碼中使用這個 API,將資料傳送到 AWS IoT Analytics。如需詳細資訊,請參閱將資料從 S3 傳送到 IoT Analytics 和將資料從 Kinesis 傳送到 IoT Analytics。

問:是否可預覽通道中的訊息?

是,您可以使用 SampleChannelData API 預覽訊息。這個 API 可從所有資料取樣高達 10 則通道訊息。

問:是否可模擬管道活動?

是,您可以使用 RunPipelineActivity API 或主控台模擬管道活動。這個 API 可使用範例資料清單 (從 SampleChannelData 或手動提供) 模擬活動並預覽結果。

問:AWS IoT Analytics 和 Amazon Kinesis Analytics 之間有何區別?

AWS IoT Analytics 專為 IoT 設計,可自動擷取和存放訊息時間戳記,讓您輕鬆執行時間序列分析。IoT Analytics 還可以利用 AWS IoT Registry 和其他公用資料來源,在資料中加入裝置專屬中繼資料,例如裝置類型和位置。IoT Analytics 會將裝置資料存放在 IoT 優化的資料存放區中,以便您在大型資料集上執行查詢。

Amazon Kinesis Analytics 是一般用途工具,旨在輕鬆即時處理 IoT 裝置以及其他資料來源的串流資料。

表 1:AWS IoT Analytics 與Kinesis Analytics 功能比較

特色 AWS IoT Analytics
Amazon Kinesis Analytics
儲存時間序列資料 X  
根據訊息時間戳記和裝置 ID 自動分割資料 X  
裝置專屬資料充實 X  
查詢大型資料集 X  
串流分析   X
即時處理 數分鐘或數秒延遲 數秒或數毫秒延遲
時間窗口操作   X
剖析非結構化資料並自動建立結構描述 JSON 和 CSV JSON 和 CSV

問:AWS IoT Analytics 和 Amazon Kinesis Analytics 的使用時機分別為何?

您可以將 AWS IoT Analytics 應用到 IoT 分析。一些使用案例包括了解裝置長期效能、商業報告、臨機操作分析以及預測性叢集維護。 IoT Analytics 最適用於這些使用案例,因為它可以在 IoT 最佳化的資料存放區中長期收集、準備和存放裝置的資料。 IoT Analytics 還可以利用 AWS IoT Registry 和其他公用資料來源,在資料中加入裝置專屬中繼資料,例如裝置類型和位置。

但是,如果您需要針對監控裝置等使用案例進行 IoT 資料的即時分析,則可以使用 Amazon Kinesis Analytics

表 2:AWS IoT Analytics 與Kinesis Analytics 使用案例

使用案例
AWS IoT Analytics Amazon Kinesis Analytics
了解裝置長期效能特點 是。  利用 AWS IoT Registry 和其他公有資料來源,在 IoT 資料加入 IoT 專屬中繼資料,例如裝置類型和位置。舉例來說,葡萄園經營者需要在濕度感應器資料加入葡萄園的預測降雨量,以便知道何時澆灌農作物。   不。最適用於即時串流分析。
IoT 資料的商業報告和臨機操作分析 是。收集、處理和存放 IoT 資料,並整合 AWS QuickSight 以建置儀表板和報告,或使用內建 SQL 查詢引擎進行臨機操作查詢。  例如,匯總整個機群的感應器故障報告,每個星期報告一次機群效能。 不。最適合用於在 IoT 資料上執行串流查詢,例如在感應器發生故障時產生提醒。 
預測性機群維護 是。收集、處理和存放 IoT 資料,並使用預先建立的範本來建置以及部署預測模型。  例如,預測聯網汽車上的 HVAC 系統何時會故障,以便車輛可以快速改道和入庫以防貨品損壞。 不。預測性維護需要對長期資料進行歷史分析,才能建置模型。 
即時裝置監控 否。 是。Kinesis Analytics 可以不斷匯總不同時段的資料、偵測異常情況並採取行動,例如傳送提醒。例如,Kinesis Analytics 可以在工業設備中,每 5 分鐘計算閥門溫度的 10 秒平均值,並偵測溫度何時會超過預設的臨界值。之後便可提醒控制系統自動關閉機器,避免發生事故。 

問:何時可同時使用 AWS IoT Analytics 和 Amazon Kinesis?

當您需要同時進行歷史和即時分析時,可以使用 AWS IoT Analytics 搭配 Amazon Kinesis。例如,使用 Kinesis Analytics 計算工業設備閥門溫度的 10 秒平均值,以偵測溫度何時超過某個臨界值。接著,Kinesis Analytics 便可提醒控制系統自動關閉機器,避免發生事故。然後,使用 Kinesis Streams 將資料傳送給 IoT Analytics。您可以利用 IoT Analytics 了解趨勢,並預測何時應更換或維修閥門。

問:使用 IoT 資料時,何時應該使用 AWS IoT Analytics 與Amazon Kinesis Streams、Amazon Kinesis Analytics 和 Amazon Kinesis Firehose?

客戶可以使用 AWS Lambda 將資料從 Amazon Kinesis Streams 傳送到 AWS IoT 資料通道,然後再傳送到 AWS IoT Analytics。

Amazon Kinesis Analytics 專為串流分析而設計,而 IoT Analytics 則專為分析靜態資料而設計。需要同時進行即時和 IoT 分析的客戶,可以結合 Kinesis Analytics 和 IoT Analytics 一起使用。

Amazon Kinesis Firehose 是將串流資料載入 AWS 資料存放區 Amazon S3Amazon RedshiftAmazon Elasticsearch Service 最簡單的方法,以便使用現有的商業智慧工具執行近乎即時的分析。IoT Analytics 不支援使用 Kinesis Firehose 做為資料來源。

問:何時使用 AWS IoT Analytics 和 Amazon Kinesis Video Streams?

Amazon Kinesis Video Streams 可以輕鬆安全地將影片、音訊和其他時間編碼的資料,從相機、深度感應器和 RADAR 等資料來源傳輸到 AWS,以執行機器學習、分析和其他應用程式的方式進行即時和批次處理。Kinesis Video Streams 專門用於從裝置導入影片資料,而 AWS IoT Analytics 則專為分析非影片 IoT 資料而設計。在 GA,Kinesis Video Streams 和 AWS IoT Core 或 IoT Analytics 之間沒有直接的整合。但是,客戶可以使用 API,從 Kinesis Video Streams 和 IoT Analytics 的應用程式來進行查詢。

深入了解 AWS IoT Analytics 功能

瀏覽功能頁面
準備好開始使用了嗎?
免費試用
還有其他問題嗎?
聯絡我們