注:
- 此教程需要访问 Oracle Cloud。要注册免费账户,请参阅开始使用 Oracle Cloud Infrastructure Free Tier 。
- 它使用 Oracle Cloud Infrastructure 身份证明、租户和区间示例值。完成实验室时,请将这些值替换为特定于云环境的那些值。
使用 OCI REST API 调用,在 API 网关后面使用专用 OCI 流处理主题
简介
Oracle Cloud Infrastructure (OCI) 流处理服务提供了一个完全托管、可扩展且持久的解决方案,用于实时摄取和使用高容量数据流。对于发布 - 订阅消息传递模式中连续生成和处理数据的任何用例,请使用 OCI 流处理。
在此方案中,我们需要使用公共 API 网关公开和使用专用 OCI 流处理主题来控制和保护访问。
目标
本教程演示如何使用 API 网关 REST API 调用来使用 OCI 流处理主题。
先决条件
- 具有管理员级别访问权限的 Oracle 账户
- 用于创建资源的区间
- 本地 OCI-CLI 设置(如果需要帮助),请参见 Installing the CLI tutorial
- 具有两个子网(专用和公共)的 VCN,请参阅创建网络教程
- 请确保子网的服务网关有正确的入站规则,以及专用子网和公共子网的端口 443。
- OCI 流处理主题创建 OCI 流教程
- 本地 Python 版本 3 已安装用于测试
任务 1:从 OCI 流处理中获取详细信息
-
转到流并记下 OCID,单击消息传递下的分析和 AI ,单击流处理并选择流。
-
请注意 OCID 和消息端点,您需要它来支持 API 网关。

任务 2:创建公共 API 网关
-
单击 API 管理下的开发人员服务,然后单击网关,然后单击创建网关。

任务 3:为 API 网关创建部署
-
选择在任务 2 中创建的 API 网关,单击部署,然后单击创建部署。
-
现在,通过将 your_ocid_for_stream 替换为下面的流 OCID 来创建前缀,将该名称填写为 publicTopic 。
/20180418/streams/your_ocid_for_stream
-
单击下一步。

-
单击下一步。
-
为 groupCursors 创建路由 1 :使用此教程的任务 2 中收集的端点和流 OCID 创建 URL 并构建 URL。
<streaming_endpoint>/20180418/streams/<stream_ocid>/groupCursors注:要使用流,用于流处理的 OCI REST API 使用两个端点 groupCursors 和消息,您需要创建这两个路由。现在提供所需的信息,例如路径、方法、后端类型,如下所示:

-
单击 +Another 路由并为消息添加路由 2 :使用相同的 URL,但在结尾的端点与 /messages 不同。

-
转到 publicTopic 并记下 API 网关端点。

任务 4:在流处理上生成测试消息
-
转到“流处理”页,然后单击生成测试消息。


-
这些消息将在任务 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 Explorer。
有关产品文档,请访问 Oracle 帮助中心。
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.