如何在AWS中使用Lambda响应?

时间:2019-11-15 13:01:16

标签: python-3.x amazon-s3 aws-lambda zip

我编写了一个lambda函数,该函数从s3存储桶中读取文件(称为密钥),并将其作为响应返回给UI。

我对如何使它正常工作感到困惑:

到目前为止,我的代码:

key = event['name']
#s3.download_file(bucketName, key, key)
file = s3.get_object(Bucket = bucketName, Key = key)
f = file['Body'].read()
return {
    "statusCode": 200,
    "isBase64Encoded": 'true',
    "Content-Disposition": "attachment; filename=" + key,
    "Content-Encoding": "zip",
    "headers": {"Content-Type": "application/octet-stream"},
    "body":  f
}

1 个答案:

答案 0 :(得分:0)

为此找到了解决方案: s3-pre-signed-url-guide

通过api创建一个预签名的网址。

url = s3.generate_presigned_url(
            ClientMethod='get_object',
            Params={
                'Bucket': bucketName,
                'Key': key
            }
        )
        logger.info('url: %s', url)
        return {
            "statusCode": 200,
            "body":  url
            }