无服务器和AWS:API网关覆盖阶段到缓存方法



我正在使用带有AWS的无服务器框架,并且我在舞台上启用了缓存,并设置了舞台方法设置 ->启用缓存到False,因此所有方法都不缓存。我想启用用于特定方法的缓存,并看到我可以覆盖控制台中的舞台设置。需要设置哪个配置值以允许我从无服务器CF模板中执行此操作?

更新:

我在serverless.yml

中完成了以下内容
ApiGatewayStage:
  Type: "AWS::ApiGateway::Stage"
  Properties:
    CacheClusterEnabled: true
    CacheClusterSize: "1.6"
    MethodSettings:
      - ResourcePath: "/*"
        HttpMethod: "*"
        CachingEnabled: false
      - ResourcePath: "/~1events~1{eventId}~1geo~1{ipAddress}"
        HttpMethod: "*"
        CacheDataEncrypted: true
        CacheTtlInSeconds: ${self:provider.environment.API_GATEWAY_CACHE_TTL}
        CachingEnabled: true

我希望他为所有方法设定缓存,但随后覆盖舞台上的给定资源以启用缓存。

我的问题是对资源路径的编码不正确。以上是正确的:

ResourcePath: "/~1events~1{eventId}~1geo~1{ipAddress}"

但是,我写的脚本是自动化的,这是初始斜杠之后的第一个~1。我没有注意到这一点,直到我打印出来并盯着它...

太久了。

最新更新