写点什么

亚马逊 API 网关支持新的动态路由规则

  • 2025-06-17
    北京
  • 本文字数:1396 字

    阅读完需:约 5 分钟

大小:699.20K时长:03:58
亚马逊API网关支持新的动态路由规则

亚马逊云科技最近为 Amazon API Gateway 推出了一项新功能,支持为自定义域名配置动态路由规则,允许用户根据 HTTP 请求头的值(单独使用或与 URL 路径结合)来路由 API 请求。

此前,依赖 API Gateway 进行动态路由的开发人员通常会使用不同的 URL 路径(例如 /v1/products/v2/products)来分段流量。尽管这种方法能够实现需要的功能,但往往会带来复杂的 URL 结构以及 API 端点数量的增加。然而,借助新的动态路由规则功能,用户可以直接在自定义域名设置中进行路由决策,通过简单配置自定义域名,即可基于传入的 HTTP 请求头、基础路径或两者的组合来做出路由决策。


此外,借助这一功能,用户无需更改或创建新的路径即可完成 API 版本之间的过渡,为 API 版本管理A/B 测试 提供了更顺畅的路径。此外,它还支持基于主机名、租户 ID 甚至 Cookie 值等标准的动态后端选择,无需额外的代理层即可实现对 API 流量的精细控制。


(来源:AWS Compute 博客文章)


本质上,API Gateway 路由规则是一种与自定义域名绑定的特定资源,用于定义如何转发传入的请求。每条规则由三个关键属性组成:条件(Conditions),最多可基于两个请求头和一个基础路径值来指定匹配标准(支持通配符,可实现灵活匹配,同时满足所有条件);动作(Actions),定义匹配时要调用的 API 阶段;以及优先级(Priority),决定规则的评估顺序。例如,请求头条件(如 x-version)可以使用通配符(如 *v2*)来匹配 x-version=alpha-v2-latestx-version=beta-v2-test,从而实现复杂的路由策略。


在创建路由规则之前,用户需要至少有一个 API、一个阶段和一个自定义域名。共有三种路由模式可供选择:“仅 API 映射”(API mappings only),仅使用基础路径映射,不使用路由规则;“路由规则优先,然后是 API 映射”(Routing rules then API mappings),路由规则优先,未匹配的请求回退到基础路径映射;以及“仅路由规则”(Routing rules only),这是推荐的模式,完全依赖于路由规则,适合新域名或从 API 映射过渡后使用。在切换到生产环境之前,建议始终在非生产环境中测试新配置,因为已有的映射将被覆盖。


尽管其他主要云 API 管理平台(如 Azure API ManagementGoogle Apigee)也提供了用于 API 版本管理和 A/B 测试的动态路由功能,但它们的实现通常依赖于策略表达式或代理级配置。Amazon API Gateway 通过在自定义域名级别直接提供专用的声明式路由规则资源,极大地简化了这些特定路由场景的配置流程。


此外,API Gateway 的访问日志为请求处理提供了高度的可见性。每个请求都包含了上下文变量,例如 $context.customDomain.routingRuleIdMatched 用于指示匹配的规则。其他变量(如 $context.domainName$context.apiId$context.stage)提供了完整的路由上下文信息。用户可以通过分析这些详细的日志验证路由行为、排查问题,并深入了解不同 API 版本或测试变体之间的流量模式。


Medium 的一篇博文中,软件工程师 Paul Issack Minoltan 总结道:


本质上,API Gateway 新引入的路由规则使你能够将复杂的路由逻辑直接嵌入到 API Gateway 配置中,简化了架构,并提供提供更强大的对 API 流量导向的控制能力。


更多详细信息可以在服务文档中找到,该功能的端到端示例可在 GitHub 上找到。


【声明:本文由 InfoQ 翻译,未经许可禁止转载。】


查看英文原文https://www.infoq.com/news/2025/06/aws-api-gateway-dynamic-routing/

2025-06-17 15:005797

评论

发布
暂无评论

scheme 和 protocol 有什么区别

小曾同学.com

scheme protocol 流媒体协议

DApp开发需要多少钱?全面解析DApp开发成本

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

YashanDB日志管理

YashanDB

数据库 yashandb

YashanDB监听日志管理

YashanDB

数据库 yashandb

人工智能丨专家系统与机器学习的概念

测试人

人工智能

每一份投入,都该物有所值:观测云如何用按需计费重塑可观测性价值

观测云

可观测性

大模型在软件测试中的应用论讨

京东科技开发者

有限元分析是干什么的?ABAQUS软件怎么使用?

思茂信息

cst CST软件 CST Studio Suite

RealClip:轻量级战略如何开拓全球小游戏市场的庞大潜力?

xuyinyin

智算生闽地,AI赋百景:2025数字中国创新大赛的AI生态启示录

脑极体

AI

NineData云原生智能数据管理平台新功能发布|2025年2月版

NineData

性能优化 智能 数据管理平台 新功能 NineData

人工智能丨35岁危机码农如何靠AI翻盘?这波浪潮不跟就淘汰!

测试人

人工智能

从人类基因到AI算法:智能进化的未来

天津汇柏科技有限公司

人工智能 AI

京东广告创意:高质量创意生成和千人千面的创意推荐

京东科技开发者

代练代打护航系统小程序的利与弊

DUOKE七七

MySQL uniapp tp6

YashanDB资源管理

YashanDB

数据库 yashandb

VMware ESXi 8.0U3d macOS Unlocker & OEM BIOS 集成 Marvell AQC 网卡驱动定制版 (集成驱动版)

sysin

esxi

交易所系统平台开发流程及核心优势解析

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 公链开发代币开发

YashanDB日志收集

YashanDB

数据库 yashandb

YashanDB表的紧急恢复

YashanDB

数据库 yashandb

产线MES功能及解决方案详解--生产流程一体化管理

万界星空科技

制造业 mes 万界星空科技 产线mes 产线级mes

YashanDB告警日志管理

YashanDB

数据库 yashandb

YashanDB慢日志管理

YashanDB

数据库 yashandb

YashanDB资源类型

YashanDB

数据库 yashandb

万字干货分享最新AI指南:用LazyLLM把Deep Research做成赛博屠龙刀!

商汤万象开发者

AI AI Agent

【内部业务支撑&前瞻技术布局】One4All下一代生成式推荐系统

京东科技开发者

基于 AI 代码助手 DeepSeek R1 分析 OOM 问题

CodeBuddy

程序员 腾讯 腾讯云 AI 代码助手 腾讯云代码助手 DeepSeek R1 模型

淘宝商品详情与评论爬取实战:一个野生程序员的逆向之旅与避坑指南

代码忍者

淘宝API接口

Shopify API的对接上线

北京木奇移动技术有限公司

跨境电商 软件外包公司 shopify开发

YashanDB运行日志管理

YashanDB

数据库 yashandb

YashanDB配置资源管理

YashanDB

数据库 yashandb

亚马逊API网关支持新的动态路由规则_架构_Steef-Jan Wiggers_InfoQ精选文章