這篇文章會教你如何將 HTTP 來源加入事件串流。
HTTP 連接器提供一種無需程式碼、可配置的方式,能將任何 REST API 的資料直接串流至 Eventstream,進行即時處理。 它允許你持續從 SaaS 平台和公開資料串流擷取資料,並自動將 JSON 回應解析成結構化事件。 它也提供範例公開訂閱,幫助你快速開始、選擇範例 API、輸入 API 金鑰,並讓 Eventstream 預先填入所需的標頭和參數。
先決條件
- 一個容量為 Fabric 或 Fabric Trial 工作區類型的工作區。
- 擁有貢獻者或更高階的工作區角色即可存取工作區。
- 一個公開可存取的 HTTP 端點。 如果它位於受保護的網路中,請使用 Eventstream 連接器虛擬網路注入連接。
- 如果你沒有事件串流,請依照指南 建立事件串流。
新增 HTTP 作為來源
如果你還沒在事件串流中新增任何來源,請選擇 「連接資料來源 」磁貼。 你也可以選擇在色帶上選擇「新增來源>」連接資料來源。
如果你是將原始碼加入已發布的事件串流,請切換到 編輯 模式。 在功能區上,選擇 新增來源>連接資料來源。
搜尋 http,選擇 Connect 將 HTTP 連接器加入你的事件串流。
設定並連接 HTTP
你可以選擇其中一個 範例公開 API ,快速開始使用預設標頭和參數,或選擇 Exit 來配置你自己的自訂 HTTP 連接器。
使用範例公開 API
-
- 幣安。 獲取最新的比特幣價格
- CoinGecko。 以美元計算目前比特幣價格
- 倫敦交通局。 獲取倫敦電台的即時抵達預測
- Alpha Vantage。 即時取得 Microsoft(MSFT)股價
- OpenWeather。 獲取某地點的天氣預報
- NewsAPI。 獲取美國最新的商業頭條
對於需要 API 金鑰的 API,請使用提供的連結申請 API 金鑰,並在輸入框中輸入。 接著連接器會自動建立 Fabric 雲端連線,並預先填充所需的 HTTP 標頭與參數。
這很重要
幣安範例 API 不需要 API 金鑰,但你必須遵守其使用條款。
如果你選擇 「使用現有連線」,請選擇 「套用範例 」,預先填入範例 API 所需的標頭和參數,無需輸入 API 金鑰。
或者,選擇 退出 關閉視窗,從頭開始設定自己的 HTTP 來源。
設定你自己的 HTTP 來源
按照步驟設定自己的 HTTP 來源,無需範例 API。
建立新連線。 選擇 新連線 ,並輸入 HTTP 來源所需的屬性:
- 基礎網址:HTTP 端點的基礎網址。
- 代幣受眾 Uri(可選):代幣所指的資源。
- 線上名稱:輸入連線的名稱。
-
認證類型:目前 HTTP 連接器僅支援
Anonymous、Basic及API Key認證。
請求方法:選擇
GET或POST。標頭與參數:如果你在建立雲端連線時選擇 了 API 金鑰 認證,請在標頭或參數中使用動態參數 ${apiKey} 來參考 API 金鑰。
例如,要連接 CoinGecko,請使用標頭:
x_cg_demo_api_key=${apiKey}。這很重要
千萬不要在標頭或參數中輸入你的 API 金鑰或其他憑證。
請求間隔(s):指定連續請求間等待的時間(秒數);有效範圍為 [1, 3600]。
最大重試次數:當錯誤發生時,連接器重試請求的最大次數;有效範圍為 [10, 100]。
重試回退(s):錯誤發生後等待的時間(秒數),連接器才會重試。有效範圍為 [1, 3600]。
重試狀態碼:HTTP 錯誤代碼回傳,提示連接器重新嘗試請求。 輸入一個逗號分隔的代碼列表或代碼範圍。 範圍以開始碼和可選的結束碼來指定。 例如:
-
400-包含所有大於或等於400的代碼。 -
400-500包含400至500的代碼,其中包含500。 -
404,408,500-提示連接器在 404 NOT FOUND、408 REQUEST TIMEOUT 及所有 5xx 錯誤碼上重試。
有些狀態碼總是會重試,例如未授權、逾時和請求過多。
-
處理分頁式 API
有些 REST API 會以多個頁面的方式回傳資料,而非單一回應。 例如,一個 API 可能在每個回應中回傳 100 筆紀錄,並需要額外請求來取得剩餘的紀錄。 HTTP 連接器支援分頁,因此能在輪詢週期中跨多個頁面檢索資料。
支援的分頁類型
HTTP 連接器支援以下分頁模式:
-
以頁面為基礎的分頁:請求包含 page 參數,例如
page=1或page=2。 連接器會增加頁碼以請求下一頁。 -
基於游標的分頁:API 回應包含游標或延續標記,例如
continuationToken或nextPageToken。 連接器利用此值請求下一頁。
設定分頁
要使用分頁,請在 HTTP 連接器中設定以下設定:
- 啟用分頁:開啟分頁功能。
- 分頁模式:指定分頁類型。 支援的值為 頁面 與 游標。
-
回應資料 JSON 指標:指定資料陣列在 API 回應中的位置,例如
/value、/items、/articles或 。
頁面分頁範例
對於頁面型 API,第一個請求可能是 GET /api/data?page=1。
設定範例:
-
啟用分頁:
true。 - 分頁模式: 頁面。
連接器會發送後續頁面的請求,例如 page=2 和 page=3。 當 API 回應顯示沒有更多資料可用時,分頁即停止,例如回傳空陣列。
游標式分頁範例
對於游標式 API,回應可能會包含延續標記,例如 "continuationToken": "ABC123"。
連接器會擷取延續權杖,並在下一個請求中使用,例如 GET /api/data?continuationToken=ABC123。 當回應中沒有包含其他標記或標記值為空時,分頁就會停止。
分頁停止時
當符合以下任一條件時,連接器停止請求額外頁面:
- API 回傳一個空回應。
- 回應中沒有包含下一頁的標記。
- API 顯示沒有更多頁面可用。
Considerations
- 每個輪詢週期從第一頁開始。
- 在啟用此功能前,請確認 API 是否支援分頁功能。
- 錯誤的分頁設定或 JSON 指標設定可能導致資料遺失或重複。
當 API 限制每個請求回傳的記錄數量時,請使用分頁。
串流或來源詳情
在 Connect 頁面,根據你使用的是 Eventstream 還是 Real-Time hub,依照以下步驟進行。
Eventstream:
在右側 的來源詳情 窗格中,請依照以下步驟操作:
對於 來源名稱,請選擇 鉛筆 按鈕來更改名稱。
請注意,事件流名稱 和 串流名稱 為唯讀。
實時樞紐:
在右側的 [串流詳細數據 ] 區段中,遵循下列步驟:
選擇你想建立事件串流的 Fabric workspace。
對於 事件串流名稱,請選擇 鉛筆 按鈕,並輸入事件串流的名稱。
串流名稱的值會自動為您生成,方法是將-stream附加到事件流名稱上。 當嚮導結束時,這條串流會出現在即時集線器的 「所有資料串流」 頁面上。
在「配置」頁面底部選擇「下一步」。
評論與連結
在 Review + connect 畫面,檢視摘要,選擇 新增 (事件串流)或 連接 (Real-Time hub)。
你可以在 編輯模式看到 HTTP 來源被加入你的事件串流。
選擇 發佈 以發布變更並開始將資料從 HTTP 來源串流到事件串流。
局限性
- HTTP 連接器目前僅支援 JSON API 回應。
- OAuth 認證 不支援。
- HTTP 來源不支援 CI/CD 功能,包括 Git 整合 與 部署管線。 透過 Git 匯出或匯入包含此來源的 Eventstream 項目可能會出錯。
相關內容
其他連接器:
