我编写了一个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
}
答案 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
}