Amazon web services 无服务器和AWS:API网关重写阶段到缓存方法

Amazon web services 无服务器和AWS:API网关重写阶段到缓存方法,amazon-web-services,aws-api-gateway,serverless-framework,Amazon Web Services,Aws Api Gateway,Serverless Framework,我在AWS中使用无服务器框架,我在我的stage中启用了缓存,并将stage MethodSettings->Enable caching设置为false,这样所有方法都不会缓存。我想为特定方法启用缓存,并查看是否可以覆盖控制台中的阶段设置。需要设置什么配置值才能从无服务器CF模板执行此操作 更新: 我在我的serverless.yml中完成了以下操作 ApiGatewayStage: Type: "AWS::ApiGateway::Stage" Properties: Cach

我在AWS中使用无服务器框架,我在我的stage中启用了缓存,并将stage 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

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

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

ResourcePath:“/~1events~1{eventId}~1geo~1{ipAddress}”


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

您是否从CloudFormation中得到错误?另外,为什么资源路径中有~1?没有错误,
~1
是AWS中MethodSettings的路径编码方式,以下是文档: