Amazon web services AWS API网关缓存能否根据响应内容使特定条目无效?
我将端点作为lambda函数使用AWSAPI网关。我启用了API网关提供的缓存功能,以减少响应时间和转发到lambda函数的调用数 lambda函数查询另一个数据存储以返回数据。如果未找到数据,则进行异步调用以更新数据存储,并将“未找到数据”返回给调用者。现在API网关甚至正在缓存这个结果,这是我们不希望发生的。这导致缓存在其生存期(1小时TTL)内始终返回“未找到数据”,即使数据存储中的数据是异步更新的 我知道请求头(缓存控制:max age=0),它可以使缓存失效并直接从Lambda获得响应,如本页所述 但这并没有用,因为调用者不知道数据存储中是否存在数据,因此不能有选择地发送这样的请求头Amazon web services AWS API网关缓存能否根据响应内容使特定条目无效?,amazon-web-services,caching,lambda,http-status-codes,aws-api-gateway,Amazon Web Services,Caching,Lambda,Http Status Codes,Aws Api Gateway,我将端点作为lambda函数使用AWSAPI网关。我启用了API网关提供的缓存功能,以减少响应时间和转发到lambda函数的调用数 lambda函数查询另一个数据存储以返回数据。如果未找到数据,则进行异步调用以更新数据存储,并将“未找到数据”返回给调用者。现在API网关甚至正在缓存这个结果,这是我们不希望发生的。这导致缓存在其生存期(1小时TTL)内始终返回“未找到数据”,即使数据存储中的数据是异步更新的 我知道请求头(缓存控制:max age=0),它可以使缓存失效并直接从Lambda获得响应
因此,我的两个问题是:
即使API网关有条件地不缓存404,调用方仍然需要再次调用端点,那么为什么不同步返回结果呢?据我所知,大多数缓存的API都是以这种模式运行的,并允许您的API使用API网关目前提供的功能。“即使API网关有条件地不缓存404,调用方仍需要再次调用端点,那么为什么不同步返回结果呢?”异步更新过程大约需要2分钟的时间,因为它调用了第三方API。因此,我们无法同步返回结果。因此,我们的想法是,第一次它将返回404或“未找到数据”,但下次应该返回良好的数据。