You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为AWS::Serverless::Api缓存集群设置缓存生存时间(TTL)?

API Gateway缓存TTL配置位置说明

在你当前的SAM+OpenAPI架构下,缓存数据的生存时间(TTL)不能直接在SAM模板的AWS::Serverless::Api属性中配置,需要在OpenAPI定义文件(即你的openapi/proxy.yml)里设置,分两种场景:

1. 全局阶段级默认TTL

在OpenAPI根节点添加x-amazon-apigateway-stage配置,设置全API的默认缓存有效期:

openapi: 3.0.1
info:
  version: 1.0.0
# 新增阶段缓存配置
x-amazon-apigateway-stage:
  cacheTtlInSeconds: 300 # 全局默认TTL,单位秒,范围1-31536000(1年)
paths:
  "/{proxy+}":
    # 原路径定义...

2. 方法级自定义TTL(覆盖全局)

如果需要给特定路径/接口单独设置TTL,在对应的方法节点下添加x-amazon-apigateway-method-settings:

paths:
  "/{proxy+}":
    x-amazon-apigateway-any-method:
      parameters:
        - name: proxy
          in: path
          required: true
          schema:
            type: string
      # 新增方法缓存配置
      x-amazon-apigateway-method-settings:
        cachingEnabled: true
        cacheTtlInSeconds: 600 # 该方法的TTL,会覆盖全局设置
      x-amazon-apigateway-integration:
        # 原集成配置...

注意:修改完openapi/proxy.yml后,重新部署SAM栈即可生效。若设置cacheTtlInSeconds为0,则该范围下的请求不会被缓存。

内容的提问来源于stack exchange,提问作者user2919910

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 06:40:43