AWS-缓存预定的lambda函数的响应

时间:2018-07-21 17:39:15

标签: amazon-web-services caching aws-lambda serverless-framework serverless

我使用AWS使用无服务器框架遵循了an example的lambda函数。它正在按预期工作,但现在我想知道缓存响应的最佳方法是什么。

我的最终版本将包含一个或多个json对象,这些对象将定期检索。

客户端将调用一个api,它将检索已经缓存的数据。

那么我应该实施哪种AWS服务才能真正进行缓存?

1 个答案:

答案 0 :(得分:0)

如果它是JSON的静态位,我只是从函数中导入/返回它而不是启用缓存,但这是您的API!

要回答您的问题,您可以在API Gateway内使用缓存来进行操作,请参见here

更新:

我实际上是为这个问题而道歉,虽然缓存工作是Op所要求的,但是存储在哪里存储了检索到的数据-如果从外部API检索数据,则可以像这样将其写入s3:< / p>

import AWS from 'aws-sdk'

    export default (event, context, callback) => {
        let s3Bucket = new AWS.S3({ params: { Bucket: 'YOUR_BUCKET_NAME' } })
        let documentName = 'someName'
        let fileExtension = 'json'

        let s3data = {
            Key: `${documentName}.${fileExtension}`,
            Body: JSON.parse(event.body.someJsonObject), 
        }

        s3Bucket.putObject(s3data, (err, s3result) => {
            if (err) {
                console.log(err)
                callback(err, null)
            } else {

                console.log('S3 added', s3result)
                callback(null, 'done')
            }
        })
    }

然后,您只需要在服务端点中读回该对象即可。