阿里云OpenAPI

更新时间: 2023-10-27 10:14:55

阿里云OpenAPI是云服务对外暴露的操作入口,所有形态的服务集成最终都是为了能够成功调用OpenAPI。

什么是OpenAPI?

API(应用程序编程接口)是一种允许应用程序之间相互通信的标准接口。API 允许开发者在多个不同的应用程序之间共享数据、功能和服务,使开发者更容易地实现连接两个应用程序之间的功能,也使开发人员可以更轻松地开发和扩展应用程序。

OpenAPI是阿里云官方推出的API,旨在为开发者提供一种安全、稳定、高效的方式来集成阿里云,包括云服务器、数据库、存储、消息队列、安全服务等。

OpenAPI遵循阿里云的规范,提供了丰富的接口定义,包括接口名称、出入参数定义、错误码、Endpoint等。同时,OpenAPI还提供多种编程语言和开发框架的SDK,方便开发者快速构建与阿里云相关的应用程序,包括Java、Python、Node.js、Go等。通过API接口获取数据、控制服务器、管理权限等,实现对阿里云资源的全面控制和管理。

调用 OpenAPI

作为开发者,调用一个 API 接口,我们通常需要关注以下重点信息:

  1. 调用地址(网关)

  2. 是否需要登录

  3. 是否需要授权

  4. 调用方式

  5. 返回结果

调用阿里云 OpenAPI 亦是如此。下图是用户从客户端发起一个 OpenAPI 调用请求到接收来自阿里云服务响应数据的完整时序图。

image
  1. 用户发起HTTP请求,调用业务服务端提供的接口。例如:该指令为查询某个ECS的实例状态。

  2. 业务服务端接收到用户从业务客户端的请求,校验接口参数合法性,根据 OpenAPI 接口文档组织请求参数、并对请求进行签名。

    说明

    如果使用阿里云 SDK 调用 OpenAPI ,则无需对请求进行签名,SDK 内部已封装请求签名逻辑。

  3. 业务服务端发起请求访问 OpenAPI 网关的服务接入点。

  4. OpenAPI 网关接收到业务服务端请求,校验签名和合法性,解析调用身份,并进行鉴权。

  5. 鉴权通过后,将该请求转发到对应云产品的内部服务地址。

  6. 云产品接收到来自网关的转发请求,根据请求指令操作具体的云资源,返回执行结果。

  7. OpenAPI 网关接收到来自云产品的返回数据,并进行标准输出格式转换,返回给业务服务端。

  8. 业务服务端接收到 OpenAPI 网关的返回数据,对结果进行处理,并将结果返回给业务客户端。

基本概念

服务接入点

服务接入点(Endpoint)是指客户端可以使用的云产品在网关注册的服务地址。服务接入点通常是一个 URL,它指定了服务的访问协议、主机名、端口和路径等信息,客户端可以使用这些信息与云服务进行通信。

身份、凭据、鉴权

阿里云的 OpenAPI 分为两种:

  1. 匿名 OpenAPI ,对于匿名 OpenAPI ,不需要额外的认证流程,只要请求是符合 OpenAPI 的风格,则可以顺利调用。

  2. 需要身份认证的 OpenAPI ,对于需要身份认证的 OpenAPI ,网关需要识别请求凭证,确认调用发起人的身份,身份通过权限校验后,才会将请求转发到对应云服务,否则会直接拒接该请求。

调用方式

为了更好的支持开发者,阿里云提供多种方式调用 OpenAPI ,主要的方式有:使用阿里云控制台,集成阿里云 SDK、使用阿里云 CLI、使用资源编排、使用Terraform、自行实现 HTTP 请求等。

说明

官方推荐您使用阿里云 SDK调用 OpenAPI

阿里云首页 OpenAPI Explorer 相关技术圈