注意:
- 此教學課程需要存取 Oracle Cloud。若要註冊免費帳戶,請參閱開始使用 Oracle Cloud Infrastructure Free Tier 。
- 它會使用 Oracle Cloud Infrastructure 證明資料、租用戶及區間的範例值。完成實驗室時,請將這些值替代為您雲端環境特定的值。
使用 OCI REST API 呼叫,使用 API 閘道背後的專用 OCI 串流主題
簡介
Oracle Cloud Infrastructure (OCI) Streaming 服務提供完全託管、可擴展且持久的解決方案,可即時擷取及使用大量資料串流。在發布 / 訂閱訊息傳遞模型中以持續且循序方式產生及處理資料的任何使用案例都使用 OCI Streaming。
在此案例中,我們需要使用公用 API 閘道來控制及保護存取,以公開並使用專用 OCI Streaming 主題。
目標
本教學課程示範如何使用 API 閘道 REST API 呼叫來使用 OCI 串流主題。
必要條件
- 具有管理層次存取權限的 Oracle 帳戶
- 用以建立資源的區間
- 本機 OCI-CLI 設定,若您需要協助,請參閱安裝 CLI 教學課程
- 含有兩個子網路 (專用和公用) 的 VCN,請參閱建立網路教學課程
- 請確定您的子網路在服務閘道有適當的傳入規則,以及專用和公用子網路的連接埠 443。
- OCI Streaming 主題建立 OCI Stream 教學課程
- 測試用安裝的本機 Python 版本 3
作業 1:從您的 OCI Streaming 取得詳細資訊
-
前往您的串流並記下 OCID,按一下訊息底下的分析與 AI ,按一下串流並選取串流。
-
請注意 OCID 和訊息端點,您的 API 閘道將需要它。

作業 2:建立公用 API 閘道
-
按一下開發人員服務 (位於 API 管理底下的閘道 ),然後按一下建立閘道。

作業 3:為您的 API 閘道建立部署
-
選取在作業 2 中建立的 API 閘道,按一下部署,然後按一下建立部署。
-
現在,請以下方的串流 OCID 取代 your_ocid_for_stream 以建立前置碼,並填入 publicTopic 的名稱。
/20180418/streams/your_ocid_for_stream
-
按一下下一步。

-
按一下下一步。
-
為 groupCursors 建立路由 1 :使用您收集在此教學課程之工作 2 中的端點和串流 OCID 建立 URL,然後建立您的 URL。
<streaming_endpoint>/20180418/streams/<stream_ocid>/groupCursors注意:若要使用串流,適用於串流的 OCI REST API 會使用兩個端點 groupCursors 和訊息,您必須建立這兩個路由。現在提供必要的資訊,例如 Path 、 Methods 、 Backend type ,如下所示:

-
按一下 +Another 路由,然後新增訊息的路由 2 :使用相同的 URL,但在端點加上 /messages 不同的端點。

-
前往您的 publicTopic 並記下 API 閘道端點。

作業 4:在您的串流上產生測試訊息
-
前往您的「串流處理 (Streaming)」頁面,按一下產生測試訊息 (Produce Test Message) 。


-
這些訊息將在任務 5 中使用。
作業 5:在 API 閘道之後,透過 REST API 使用 OCI 串流處理
-
下載範例 Python 使用程式碼 consume_rest_api_oci_lab.py 。
-
變更 API 閘道端點和串流 OCID 的值,如先前在本教學課程中收集的值所示。

-
執行您的 Python 程式碼以驗證其運作中。
python3 consume_rest_api_oci_lab.py
相關連結
確認
- 作者 - Joao Tarla (Oracle LAD A-Team 解決方案工程師)
其他學習資源
探索 docs.oracle.com/learn 的其他實驗室,或者存取更多 Oracle Learning YouTube 頻道上的免費學習內容。此外,請瀏覽 education.oracle.com/learning-explorer 以成為 Oracle Learning 檔案總管。
如需產品文件,請造訪 Oracle Help Center 。
Consume a private OCI Streaming topic behind an API Gateway using OCI REST API call
F80887-01
April 2023
Copyright © 2023, Oracle and/or its affiliates.