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

Serverless and AWS: API Gateway Override Stage to Cache Method

我将无服务器框架与 AWS 一起使用,我在我的阶段启用了缓存并将阶段 MethodSettings -> Enable Caching 设置为 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

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

我的问题是 ResourcePath 的编码不正确。以上是正确的:

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

但是,我编写的用于自动执行此操作的脚本在初始斜杠后没有第一个 ~1。我没有注意到这一点,直到我把它打印出来并盯着它看……太久了。