跳至主要內容

Amazon Kinesis Data Streams

開始使用 Amazon Kinesis Data Streams

開始使用

Amazon Kinesis Data Streams 是已針對串流資料最佳化的可大規模擴展、高耐用性的資料擷取和處理服務。您可以設定數十萬個資料生產程式,以持續將資料放入 Kinesis 資料串流。您的 Amazon Kinesis 應用程式將在毫秒內存取資料,而這些應用程式將按產生順序接收資料記錄。

Amazon Kinesis Data Streams 與多個 AWS 服務整合,包括 Amazon Kinesis Data Firehose,可用於近乎即時的轉型,並將串流資料交付到 Amazon S3 這類 AWS 資料湖;Amazon Managed Service for Apache Flink 用於受管串流處理;AWS Lambda 用於事件或記錄處理;AWS PrivateLink 用於私有連線;Amazon Cloudwatch 用於指標和日誌處理;以及 AWS KMS 用於伺服器端加密。

Amazon Kinesis Data Streams 用作大數據解決方案的閘道。來自各種來源的資料會放入 Amazon Kinesis 串流中,然後不同的 Amazon Kinesis 應用程式會使用這些串流中的資料。在這個範例中,有一個應用程式 (黃色) 正在對串流資料執行即時儀表板。另一個應用程式 (紅色) 則執行簡易的彙總並將處理過的資料發送到 Amazon S3。S3 內的資料會經過進一步處理,並存放於 Amazon Redshift 以進行複雜的分析。第三個應用程式 (綠色) 會將原始資料傳送至 Amazon S3,這些資料接著會封存至 Amazon Glacier 以降低長期儲存的成本。要注意的是,這 3 個資料處理管道是同時且平行地在進行。

開始使用 Amazon Kinesis Data Streams

了解 Amazon Kinesis Data Streams 的最新功能

請求概念驗證或評估的支援

影片

使用 Kinesis Data Streams

註冊 Amazon Web Services 後,就可以透過以下步驟開始使用 Amazon Kinesis Data Streams:

主要概念

全部開啟

資料生產程式是一種應用程式,通常會在資料記錄產生之後立即發送到 Kinesis 資料串流。資料生產程式會為記錄指派分區索引鍵。分區索引鍵最終可用來判斷哪些碎片擷取資料串流的資料記錄。

資料取用程式是分散式 Kinesis 應用程式或 AWS 服務,可在資料產生時從串流的所有碎片擷取該資料。大部分資料取用程式會擷取碎片中最新的資料,以即時分析或處理資料。

資料串流是碎片的邏輯群組。資料串流中的碎片數目沒有限制(如果需要更多,請求提高限制)。資料串流預設將保留資料 24 小時,但可選擇最長保留 365 天。

碎片是 Amazon Kinesis 資料串流的基本輸送量單位。

  • 碎片是只能附加但不能修改的日誌和串流功能單位。碎片包含依照抵達時間排序的記錄。
  • 一個碎片每秒可擷取最多 1000 個資料記錄,或是 1 MB/秒。新增更多碎片可提升擷取功能。
  • 使用 AWS 主控台、 UpdateHardCount API 、透過 AWS Lambda 觸發自動擴展,或使用自動調整公用程式,隨資料輸送量變更,動態從串流中新增或移除碎片。
  • 取用程式使用增強型散發時,一個碎片針對每個註冊使用增強型散發的資料取用程式提供 1 MB/秒的資料輸入和 2 MB/秒的資料輸出。
  • 取用程式不使用增強型散發時,一個碎片可提供 1 MB/秒的輸入和 2 MB/秒的資料輸出,而且這個輸出會與任何未使用增強型散發的取用程式共用。
  • 建立串流時要指定所需的碎片數量,這個數量可以隨時更改。例如,您可以建立具有兩個碎片的串流。如果有 5 個資料取用程式使用增強型散發,這個串流可提供最多 20 MB/秒的總資料輸出 (2 個碎片 x 2 MB/秒 x 5 個資料取用程式)。資料取用程式不使用增強型散發時,此串流具有 2 MB/秒資料輸入和 4 MB/秒資料輸出的輸送量。在所有情況下,這個串流都能允許每秒最多 2000 個 PUT 記錄,或是 2 MB/秒的輸入,以先達到的限制為準。
  • 您可以監控 Amazon Kinesis Data Streams 中碎片層級的指標。

記錄是儲存在 Amazon Kinesis 串流中的資料單位。記錄由序號、分區索引鍵和資料 Blob 組成。資料 Blob 是您的資料生產程式新增到串流的重要資料。資料 Blob 的大小上限 (Base64 編碼後的資料承載) 是 1 百萬位元組 (MB)。

分區索引鍵通常是很實用的識別符,像是使用者 ID 或時間戳記。當資料生產程式將資料放入 Amazon Kinesis 資料串流時會指定這個值,而且對取用程式也很有用,它們可以使用分區索引鍵重播或建立與該分區索引鍵關聯的歷史記錄。這個分區索引鍵也可用來分隔和路由資料記錄到不同的串流碎片。例如,假設您的 Amazon Kinesis 資料串流有兩個碎片 (碎片 1 和碎片 2)。您可以將資料生產程式設定為使用兩個分區索引鍵 (索引鍵 A 和索引鍵 B),讓所有含索引鍵 A 的資料記錄新增到碎片 1,而所有含索引鍵 B 的資料記錄則新增到碎片 2。

序號是每個資料記錄的唯一識別符。當資料製作者呼叫 PUTRecord 或 Put Records API 將資料新增至亞馬遜 Kinesis 資料串流時,系統會由亞馬遜 Kinesis 資料串流指派序號。相同分區索引鍵的序號通常會隨時間增加;PutRecord 或 PutRecords 請求之間的時段越長,序號越大。

將資料放入串流

全部開啟

資料生成者可以使用亞馬遜 Kinesis 資料串流 API、亞馬遜 Kinesis 製造商庫 (KPL) 或亞馬遜 Kinesis 代理程式將資料放入亞馬遜 Kinesis 資料串流中

使用亞馬遜 Kinesis 資料產生器將範例資料放入 Kinesis 資料串流或 Kinesis 資料消防管中。

亞馬遜 Kinesis 資料串流提供了兩個 API,用於將資料放入亞馬遜 Kinesis 串流中:PUTRecord 和 PUTRecords。 PutRecord 允許 API 呼叫內的單一資料記錄,而 PutRecords 允許 API 呼叫內的多個資料記錄。

亞馬遜 Kinesis 製作者庫 (KPL) 是一個易於使用且高度可配置的程式庫,可協助您將資料放入亞馬遜 Kinesis 資料串流中。Amazon Kinesis Producer Library (KPL) 提供一個簡單、非同步且可靠的界面,讓您能夠以最少的用戶端資源快速實現高生產程式輸送量。

亞馬遜 Kinesis 代理程式是一款預先建置的 Java 應用程式,可提供收集資料並將資料傳送至您的亞馬遜 Kinesis 串流的簡易方式。您可以在以 Linux 為基礎的伺服器環境 (例如 Web 伺服器、日誌伺服器及資料庫伺服器) 安裝代理程式。代理器會監控特定檔案並持續將資料傳送至您的串流。

執行應用程式或建立自己的應用程式

全部開啟

使用 AWS 服務執行全受管串流處理應用程式,或建立自己的應用程式。

Amazon Kinesis 資料消防軟管是可靠地將串流資料轉換並載入資料存放區和分析工具的最簡單方法。您可以使用 Kinesis 資料串流做為 Kinesis data firehose 的來源。

您可以訂閱 Lambda 函數,自動從 Kinesis 資料串流讀取記錄。  AWS Lambda 通常用於逐記錄(也稱為基於事件)串流處理。

亞馬遜 Kinesis 用戶端程式庫 (KCL) 是一個預建的程式庫,可協助您輕鬆建立亞馬遜 Kinesis 應用程式,以讀取和處理亞馬遜 Kinesis 資料串流中的資料。KCL 可處理複雜的問題,例如適應串流量的變化、負載平衡串流資料、協調分散式服務和利用容錯能力處理資料。KCL 讓您在建置 Amazon Kinesis 應用程式時能專注在商業邏輯。 從 KCL 2.0 開始,您可以使用低延遲 HTTP/2 串流 API 和增強型散發來擷取串流的資料。

亞馬遜 Kinesis 連接器程式庫是一個預先建置的程式庫,可協助您輕鬆將 Amazon Kinesis 與其他 AWS 服務和第三方工具整合。使用 Amazon Kinesis Connector Library 時必須有 Amazon Kinesis Client Library (KCL)。此程式庫的目前版本提供了亞馬遜 DynamoDB、亞馬遜 Redshift、亞馬遜 S3 和亞馬遜彈性搜尋服務的連接器此程式庫也包括各種範例連接器,還有用於執行範例的 Apache Ant 建置檔案。

亞馬遜 Kinesis 風暴噴嘴是一個預建的程式庫,可協助您輕鬆將亞馬遜 Kinesis 資料串流與 Apache Storm 整合。最新版本的 Amazon Kinesis Storm Spout 從 Kinesis 資料串流擷取資料,再做為 Tuple 發出。您將此 Spout 新增到 Storm 拓撲,以利用 Amazon Kinesis Data Streams 做為可靠、可擴展、串流擷取、儲存以及重新執行服務使用。

管理串流

全部開啟

您可以透過建立 VPC 端點,從 Amazon Virtual Private Cloud (VPC) 以私有方式存取 Kinesis Data Streams API。使用 VPC 端點,AWS 網路會處理 VPC 和 Kinesis Data Streams 之間的路由,無須使用網際網路閘道、NAT 閘道或 VPN 連接。Kinesis Data Streams 使用的最新一代 VPC 端點採用 AWS PrivateLink 技術,這項技術可使用彈性網路介面 (ENI) 搭配 VPC 的私有 IP 啟用 AWS 服務間的私有連線。如需有關私人連結的詳細資訊,請參閱 AWS 私人連結文件。

增強型散發可讓客戶平行擴展從串流進行讀取的取用程式數量,同時保有高效能。您可以使用增強型散發和 HTTP/2 資料擷取 API,將資料散發到多個應用程式,通常可在資料抵達後的 70 毫秒內完成。

您可以使用伺服器端加密或用戶端加密來加密放入 Kinesis Data Streams 中的資料。  伺服器端加密是一項完全受管理的功能,可在您輸入資料流並從資料流中取得資料時自動加密和解密資料。或者,您可以在用戶端加密數據,然後再將其放入數據流中。若要進一步瞭解,請參閱 Kinesis 資料串流常見問題的安全性一節。

Amazon Kinesis 資料串流與 Amazon CloudWatch 整合,因此您可以輕鬆收集、檢視和分析 Amazon Kinesis 資料串流和這些資料串流中的碎片的 CloudWatch 指標。如需有關亞馬遜 Kinesis 資料流量測量結果的詳細資訊,請參閱使用 Amazon CloudWatch 監控亞馬遜 Kinesis。

Amazon Kinesis 資料串流與 AWS 身分與存取管理 (IAM) 整合,這是一項服務,可讓您安全地控制使用者對 AWS 服務和資源的存取。例如,您可以建立僅允許特定使用者或群組將資料放入 Amazon Kinesis 資料串流的政策。如需有關 Amazon Kinesis 資料串流的存取管理和控制的詳細資訊,請參閱使用 IAM 控制 Amazon Kinesis 資源的存取權。

Amazon Kinesis 資料串流與 AWS CloudTrail 整合,這是一項服務,可記錄您帳戶的 AWS API 呼叫並將記錄檔交付給您。如需有關 API 呼叫記錄和支援的亞馬遜 Kinesis API 清單的詳細資訊,請參閱使用 AWS CloudTrail 記錄亞馬遜 Kinesis API 呼叫。

您可以標記 Amazon Kinesis Data Streams 及增強型散發 (EFO) 取用者,以更輕鬆地管理資源和成本。標籤可由使用者定義,並以鍵值組表示,如此有助於組織 AWS 資源。例如,您可以按照成本中心標記您的 Amazon Kinesis Data Streams 或 EFO 取用者,以便根據成本中心來分類和追蹤 Amazon Kinesis Data Streams 成本。如需詳細資訊,請參閱為 Amazon Kinesis 資料串流資源標記。

教學

全部開啟

本教學將逐步介紹如何建立 Amazon Kinesis 資料串流、將模擬股票交易資料發送至串流,以及撰寫可處理來自資料串流之資料的應用程式。 

特色簡報

全部開啟

Amazon Kinesis 可輕鬆地收集、處理和分析即時串流資料,讓您及時取得深入的見解,並快速地對新資訊做出反應。在這場會議中,我們提供一個端對端串流資料解決方案,使用 Kinesis Streams 進行資料導入、使用 Kinesis Analytics 進行即時處理,並將 Kinesis Firehose 用於持久性。我們詳細介紹如何使用串流資料撰寫 SQL 查詢,並討論優化和監控 Kinesis Analytics 應用程式的最佳實務。最後,我們討論如何估算整個系統的成本。

觀看會議記錄 | 下載演示文稿

想要提升 AWS 大數據 Web 服務的知識,並在雲端啟動您的第一個大數據應用程式? 我們引導您將大數據程序簡化成包含下列階段的資料匯流排:導入、存放、處理及視覺化。您可以使用 Amazon Athena、Amazon Kinesis、Amazon DynamoDB 和 Amazon S3 等 AWS Managed Services 建立大數據應用程式。整個過程中,我們會回顧大數據應用程式的架構設計模式,並讓您存取可在家操作的實驗室,方便您自行重建和自訂應用程式。您應自備筆記型電腦,並對 AWS 服務有一定程度的熟悉,才能在這次會議中獲得最多的收穫。

下載簡報

近年來,連線裝置和即時資料來源的數量已呈爆炸性的成長。正因為如此,資料不斷持續產生,而生產速度正在加快。企業不能再等待數小時或數天的時間之後,才能使用這些資料。為了獲得最有價值的洞見,他們必須立即使用這些資料,以便能夠對新資訊做出快速反應。在這個研討會中,您可了解如何利用串流資料來源,以近乎即時的速度進行分析和做出反應。您會看到真實世界串流資料場景中的一些需求,而且您要使用 Amazon Kinesis、AWS Lambda 和 Amazon SNS 等服務建立一個可順利滿足這些需求的解決方案。

下載簡報

加快從資料獲得可行的洞見,對於使用批次資料分析工具探索串流分析優點的所有企業和客戶而言十分重要。了解最佳實務,將您的架構從資料倉庫和資料庫擴展到即時解決方案。了解如何使用 Amazon Kinesis 獲得即時資料洞見,並將其與 Amazon Aurora、Amazon RDS、Amazon Redshift 和 Amazon S3 整合在一起。Amazon Flex 團隊描述他們如何在 Amazon 送貨司機的 Amazon Flex 行動應用程式中使用串流分析,每個月都能按時送達數百萬件包裹。他們討論一種可以從批次處理系統轉移到即時系統的架構,克服了將現有批次資料遷移到串流資料的挑戰,以及如何從即時分析中獲益。

觀看會議記錄 | 下載演示文稿

為了贏得市場並提供差異化的客戶體驗,企業需要能夠在第一時間使用剛出爐的即時資料,以加快決策的制定。在這場會議中,您將了解常見的串流資料處理使用案例和架構。首先,我們會簡單介紹串流資料和 AWS 串流資料功能。接下來,讓我們看看幾個客戶的例子和他們的即時串流應用程式。最後,則是介紹熱門串流資料使用案例的常見架構和設計模式。

觀看會議記錄 | 下載演示文稿

特色解決方案

適用於 Amazon Kinesis 的 AWS Streaming Data 解決方案提供 AWS CloudFormation 範本,其中資料將流經產生者、串流儲存體、使用者和目的地的。為了支援多個使用案例和業務需求,該解決方案提供了四個 AWS CloudFormation 範本。這些範本設定為套用最佳實務,以使用儀表板和警報監控功能,以及保護資料安全。