如何为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
相关产品推荐
相关产品推荐

