本页面适用于 Apigee 和 Apigee Hybrid。
查看 Apigee Edge 文档。
借助可配置的预览版 API 代理,API 开发者可以使用声明式配置模型快速创建和部署轻量级代理。在可配置的代理配置模型中,用户指定代理的预期行为,而不是为了产生行为而需要执行的顺序指令。
可配置的预览版 API 代理开发功能仅面向拥有 Apigee 付费组织的客户提供。拥有随用随付组织的 Apigee 客户则可以创建可编程 API 代理。
可编程与可配置的代理
Apigee 的常见基于 XML 的代理配置,或者说“可编程的”配置模型允许用户以命令方式编程。也就是说,可编程的 API 代理配置指定顺序指令来控制条件逻辑流以及每个请求和响应的状态。该代理用于编排具有多个数据源的复杂操作、执行决策逻辑或导入自定义代码。
例如,如需在可编程(命令式)Apigee API 代理中执行外部标注处理,API 开发者需要指定以下每个指令:
- 调用外部服务。
- 如果响应包含
foo
,则调用端点 X。 - 如果响应包含
bar
,则调用端点 Y。
可配置的预览版 API 代理(声明式)模型可让 API 开发者轻松提供一组指令,用于描述期望的结果,而不是规定如何实现这些结果。虽然不支持命令式逻辑(如顺序条件或循环),但有许多遵循此模型的规则,例如:
- 允许或拒绝规则
- 令牌验证规则
- 配额强制执行规则
使用业界标准的 YAML 语法(例如,锚和扩展程序)可让 API 开发者轻松快速上手,而无需学习特定于产品的语言。可配置的 API 代理可为高流量提供标准 API 网关功能,包括:
- 支持使用 API 密钥访问 API 产品
- OAuth 2.0 和 JWT 身份验证
- 速率限制
- 标注外部政策决策点
- 简单的载荷转换(例如 gRPC 到 JSON)
主要优势
借助可配置的预览版 API 代理,API 开发者可以实现标准 API 网关功能,同时减少 API 密钥验证、JWT 身份验证和 CORS 设置等常见行为所需的配置。
特性比较
下表比较了两种配置格式的网关功能:
特征 | 环境类型 | |
---|---|---|
代理格式 | 可编程 (XML) | 可配置 (YAML) |
部署类型 | 归档 代理 |
归档 不适用 |
安全功能 | ||
OAuth - 生成令牌 | 有 | 不适用 |
OAuth - 验证令牌 (JWT) | 有 | 有 |
OAuth - 验证令牌(不透明) | 有 | 否 |
验证 API 密钥 | 有 | 有 |
IP 和 CIDR 允许/拒绝列表 | 有 | 无 |
高级安全设置
(JWS、HMAC、SAML、XML/JSON 威胁防护、正则表达式扫描) |
有 | 否 |
流量限制 | ||
配额 | 有 | 有 |
SpikeArrest | 有 | 不适用 |
载荷操纵 | ||
可编程性 | 有 | 否 |
GraphQL | 有 | 否 |
SOAP ←→ REST 或 XSLT | 有 | 否 |
架构验证 [WSDL、GraphQL、OAS] |
有 | 不适用 |
JSON ←→ gRPC | 否 | 不适用 |
流控制/决策 | ||
标注 | 有 [通过服务标注或外部标注] |
不适用 |
缓存和 KVM | 有 [Apigee 缓存或 Cloud CDN] |
不适用 |
上游/南向连接 | ||
目标服务器 | 有 | 有 |
目标 URI | 有 | 有 |
mTLS | 有 | 不适用 |
TLS | 有 | 有 |
协议 | HTTP 1.0、HTTP 1.1 | HTTP 1.1、2.0 |
下游/北向连接 | ||
TLS | 有 | 有 |
协议 | HTTP 1.1 | HTTP 1.1、2.0 |
请求/响应 | ||
载荷限制 | 10 MB | 不适用 [支持具有产品限制的较大载荷] |
SharedFlow/Flowhook | 有 | 否 |
高级功能 | ||
数据采集 | 有 | 不适用 |
获利 | 有 | 否 |
API 监控 | 有 | 有 |
开发者门户 | 有 | 有 |
分析 | 有 | 有 |
后续步骤
- 创建可配置的 API 代理
- 通过可配置的代理配置示例了解详情