EventBridge API 端点:让服务集成触手可及|学习笔记(一)

简介: 快速学习 EventBridge API 端点:让服务集成触手可及

开发者学堂课程事件总线EventBridge生态集成课程EventBridge API 端点:让服务集成触手可及学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/1235/detail/18405


EventBridge API 端点:让服务集成触手可及

 

内容介绍

一、概括

二、eventbridge 背景

三、api 端点

四、应用场景案例

 

一、概括

最近对外正式发布了 api 端点服务,用来帮助大家更方便的将云上的产品以自己的微服务或者购买了 saas 服务进行集成。那 api 端点到底是什么?

今天的讲解主要包含三部分,首先先简单介绍一下 eventbridge的背景,然后讲一下为什么要做 api 端点。第二部分一起看一下今天的主角 API 端点,它到底是什么,有什么用。第三部分用两个场景演示案例来实际体验一下 api 端点。

 

二、eventbridge 背景

1.什么是 EventBridge

 

image.png

eventbridge 在阿里云的定位是云原生时代,云上操作系统的事件中枢,通过这个事件中枢,可以以标准 cloudevents 的事件协议将阿里云上的产品自建服务,以及外部的 saas 服务进行集成连接,来构建一个松耦合和高可靠的事件驱动架构。

2.EventBridge 的基本模型

来看一下 eventbridge 的基本模型,

image.png

当开通 eventbridge 的时候,eventbridge 会自动收集阿里云上两百多款产品的事件。然后就可以在事件总线上轻松地通过规则方便地去订阅,并过滤到需要的云产品事件,并推送到目标端。这里的目标端可以是阿里云上的服务,也可以是自己搭建的一个微服务,甚至可以是外部的一些 saas 服务,当然不仅是阿里云上的云产品事件可以通过 eventbridge 去实现事件驱动,那用户自己的业务事件,以及用户购买的一些 saas 服务产生事件都是可以通过 SDK 主动上报或者通过 eventbridge 主动拉取以及 web hook的一些能力,将这些事件推送回 eventbridge。

eventbridge 就像一个事件中心,去帮助用户管理了产品周边所有事件。当需要使用事件时候,可以很方便地通过 eventbridge 筛选出需要的事件,并推送给目标端。整个过程目标端是不需要像消息订阅一样去主动地适配上的消息,那目标端也无需要去改一行代码就可以通过原本暴露的 API 来完成整个产品的集成,那整个架构是更加松耦和,更加易维护和可靠的。

3.适配目标端:过滤和转换

image.png

事件规则里面过滤和转换事件的过程,本质上是将之前目标端原本订阅消息的逻辑,以及去解析上游消息格式的逻辑。从目标端前置到了 eventbridge 当中,因为订阅和解析消息的逻辑,对于每个目标端来讲都是大同小异的,而且目标端增加对上游消息的适配层,其实会破坏目标微服务的一个内聚性,尤其是当目标微服务需要去订阅很多事件的时候,那会让目标微服务非常多的一些适配代码变得不可维护。为了满足目标微服务长的一些场景需求,eventbridge 提供了非常丰富的事件过滤模式,以及事件转换工具,那来看一下一个简单的例子,就是将云产品 OSS 的事件推送到内部微服务 HTTP target,阿里云上所有官方云产品事件都默认会投递到 default 总线,那在北京提前在 default 总线创建了一个规则。这个规则会过滤所有的 OSS 事件,并投递到 HTTP 目标端,这个目标端指向的是自建的 web hook 地址,它会时刻地去监听,访问这个服务的 HTTP 请求,并把收到请求完整地打印出来,可以看到图中左边,

image.png

这个服务一直在处于监听等待中,这里面设置了推送到 http body 为模板,提取了 cluteveent 中的 subject 字段,并随模板一起输出,现在就往北京的 oss packet 上传一个 demo文件。看到文件已经上传成功,然后看一下 http 目标服务,它也已经收到了刚刚上传的事件,它的内容是上传的对应的文件信息。

4.HTTP Target 遇到的问题

这里大家可能也发现了目前 HTTP 目标的能力还是比较弱的,主要体现在三个方面。

image.png

第一鉴权方式比较单一,只支持固定 token 的鉴权方式,第二参数传递的能力较弱,只支持传递 HTTP body,不支持传递 http header 的参数,而且默认用 post 方式,第三是管理成本比较高,当多个规则依赖同一个 HTTP 的时候万一需要修改,所有的规则都需要去改变,这次为什么不直接去升级 http target 而推出 api 端点这个服务,接下来一起来看一下 api 的端点,它到底是什么,又是怎么去解决用户遇到的问题。

 

三、api 端点

1.什么是 API 端点

首先,看一下api端点在 eventbridge 中的位置。

image.png

作为 eventbridge 的目标端,整体的模型是和其它事件目标保持一致的,那事件发送到 eventbus 之后会通过规则进行过滤和转换来最终推送到 api 端点对应的目标服务上,那这个 api 开端点是什么?里面有什么呢?在回答这个问题之前,一起看一下,一个典型的微服务 API 是什么样的。

image.png

先看图中最下面,一个目标微服务在其他服务进行集成交汇时候最常见的方式是暴露 API,通过 API 来定义当前目标微服务的边界。在暴露 api时,微服务通过多种方式,目前最常用的方式是 HTTP 协议暴露 http resetfule api ,其他服务如果想和当前的微服务进行集成,就可以通过访问  http resetfule API来实现这个目的,eventbridge 如果希望将事件推送到这个目标微服务的 api,就需要清楚地知道目标微服务的 api 的定义,当然光知道 api 的定义还是不够的,因为对于一个微服务来讲,为了防止一些恶意攻击,常常还会有自己的一个认知方式,用来限制使用一些合法的请求才能被响应。

在完成第一个微服务 api 时主要含两部分。一部分是用来实现和微服务的联通就是普通的 connection。第二部分是 api 的方法的参数信息,就是图中的 api 端点。另外,在不同的场景下,同一个api的参数传递的内容在创建规则配置时候,其实是不一样的,所以在创建规则的时候还会具体的去配置 API 对应的参数具体的值的信息。

先来看下第一部分 connection,刚才提到 connection 主要是用于去实现外部服务与当前微服务的连通性,这里可以看到 connection 一般是微服务的,微服务上提供的多个 API 其实是共享这个 connection。

关于 connection 目前主要包含两部分,第一部分是网络配置。比如通过公网连接还是通过阿里私有网络进行连接,那第二部分是刚才提到的鉴权配置信息。 eventbridge 目前选取行业内最常见的三种基本方式 api key、basic、OAuth 2.0。那下面简单介绍方便后面使用。


相关文章
|
消息中间件 运维 监控
基于 EventBridge API Destination 构建 SaaS 集成实践方案
本次新增集成中心(Integration Center)是负责 EventBridge 与外界系统对接的模块,通过抽象与配置快速获取第三方事件并将事件集成到第三方系统。并且优化现有 HTTP Sink 集成方案,为用户下游集成创造更多适配场景。
343 0
基于 EventBridge API Destination 构建 SaaS 集成实践方案
|
安全 jenkins API
EventBridge API 端点:让服务集成触手可及|学习笔记(二)
快速学习 EventBridge API 端点:让服务集成触手可及
300 0
EventBridge API 端点:让服务集成触手可及|学习笔记(二)
|
19天前
|
API PHP 开发者
速卖通商品详情接口(速卖通API系列)
速卖通(AliExpress)是阿里巴巴旗下的跨境电商平台,提供丰富的商品数据。通过速卖通开放平台(AliExpress Open API),开发者可获取商品详情、订单管理等数据。主要功能包括商品搜索、商品详情、订单管理和数据报告。商品详情接口aliexpress.affiliate.productdetail.get用于获取商品标题、价格、图片等详细信息。开发者需注册账号并创建应用以获取App Key和App Secret,使用PHP等语言调用API。该接口支持多种请求参数和返回字段,方便集成到各类电商应用中。
|
25天前
|
JSON API 数据格式
微店商品列表接口(微店 API 系列)
微店商品列表接口是微店API系列的一部分,帮助开发者获取店铺中的商品信息。首先需注册微店开发者账号并完成实名认证,选择合适的开发工具如PyCharm或VS Code,并确保熟悉HTTP协议和JSON格式。该接口支持GET/POST请求,主要参数包括店铺ID、页码、每页数量和商品状态等。响应数据为JSON格式,包含商品详细信息及状态码。Python示例代码展示了如何调用此接口。应用场景包括商品管理系统集成、数据分析、多平台数据同步及商品展示推广。
|
17天前
|
JSON 前端开发 API
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
49 5
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
|
17天前
|
监控 供应链 搜索推荐
亚马逊商品详情接口(亚马逊 API 系列)
亚马逊作为全球最大的电商平台之一,提供了丰富的商品资源。开发者和电商从业者可通过亚马逊商品详情接口获取商品的描述、价格、评论、排名等数据,对市场分析、竞品研究、价格监控及业务优化具有重要价值。接口基于MWS服务,支持HTTP/HTTPS协议,需注册并获得API权限。Python示例展示了如何使用mws库调用接口获取商品详情。应用场景包括价格监控、市场调研、智能选品、用户推荐和库存管理等,助力电商运营和决策。
80 23
|
17天前
|
JSON 数据挖掘 API
lazada商品详情接口 (lazada API系列)
Lazada 是东南亚知名电商平台,提供海量商品资源。通过其商品详情接口,开发者和商家可获取商品标题、价格、库存、描述、图片、用户评价等详细信息,助力市场竞争分析、商品优化及库存管理。接口采用 HTTP GET 请求,返回 JSON 格式的响应数据,支持 Python 等语言调用。应用场景包括竞品分析、价格趋势研究、用户评价分析及电商应用开发,为企业决策和用户体验提升提供有力支持。
74 21
|
15天前
|
JSON API 数据格式
eBay商品详情接口(ebay API系列)
eBay 商品详情接口是电商从业者、开发者和数据分析师获取商品详细信息的重要工具,涵盖标题、价格、库存、卖家信息等。使用前需在 eBay 开发者平台注册并获取 API 凭证,通过 HTTP GET 请求调用接口,返回 JSON 格式数据。Python 示例代码展示了如何发送请求并解析响应,确保合法合规使用数据。
49 12
|
14天前
|
JSON API 数据格式
阿里巴巴商品详情接口(阿里巴巴 API 系列)
在电商开发中,获取阿里巴巴商品详情信息对数据分析、竞品研究等至关重要。通过调用其商品详情接口,开发者可获取标题、价格、图片、描述等数据,满足多种业务需求。接口采用HTTPS协议,支持GET/POST请求,返回JSON格式数据。示例代码展示了如何使用Python的requests库进行接口请求,需传递商品ID和访问令牌。实际应用时,请依据官方文档调整参数并确保安全性。
46 10
|
18天前
|
数据采集 JSON 监控
速卖通商品列表接口(以 AliExpress Affiliate 商品查询 API 为例)
以下是使用 Python 调用速卖通商品列表接口(以 AliExpress Affiliate 商品查询 API 为例)的代码示例。该示例包含准备基础参数、生成签名、发送请求和处理响应等关键步骤,并附有详细注释说明。代码展示了如何通过公共参数和业务参数构建请求,使用 HMAC-SHA256 加密生成签名,确保请求的安全性。最后,解析 JSON 响应并输出商品信息。此接口适用于商品监控、数据采集与分析及商品推荐等场景。注意需通过 OAuth2.0 获取 `access_token`,并根据官方文档调整参数和频率限制。

热门文章

最新文章