1

AWS와 함께 Serverless 프레임 워크를 사용하고 있으며 내 단계에서 캐싱을 활성화하고 MethodSettings -> Enable Caching을 모든 메소드가 캐시하지 않도록 Enable로 설정했습니다. 특정 메서드에 대해 캐싱을 활성화하고 콘솔에서 스테이지 설정을 무시할 수 있는지 확인하고 싶습니다. Serverless CF 템플릿에서 어떤 설정 값을 설정해야합니까?서버리스 및 AWS : API 게이트웨이 오버라이드 캐시 단계 방법

UPDATE :

내가 다음 사항했던 내 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로 캐싱을 설정하는 기대하지만, 다음 단계에 주어진 자원을 무시할 것 캐싱을 가능하게합니다.

+0

CloudFormation에서 오류가 발생 했습니까? 또한 리소스 경로에 ~ 1이있는 이유는 무엇입니까? –

+0

오류가없고 '~ 1'은 AWS에서 MethodSettings에 대한 경로가 인코딩 된 방법입니다. 여기에 문서가 있습니다 : http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway- stage-methodsetting.html # cfn-apigateway-stage-method-resourcepath –

답변

0

내 문제는 ResourcePath의 인코딩이 잘못되었습니다.

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

는하지만, 내 스크립트 내가이 초기 슬래시 후 첫 ~1이 없었 자동화 썼다 : 위의 함께 올바른 것입니다. 나는 그것을 인쇄하고 쳐다볼 때까지 이것을 알아 차리지 못했습니다 ... 너무 오랫동안.