需要将大量的文本存到cdn上,用了amazon s3的服务。
起先使用了PutObjectCommand 将文本存进去,然后再用GetObjectCommand ,getSignedUrl生成链接,但这个链接是有时效性的,还没有办法通过配置生成永久的链接。(通过PutObjectCommand生成的链接也是做put操作的,并不是get)
查了很多资料发现用这个方法是没有办法做到的,只能用另一个方法。使用@aws-sdk/lib-storage的Upload去上传,上传完成后返回的结果里会有一个Location字段,这个字段就是上传的地址,是永久性的链接,不存在5分钟过期的实效。
需要注意的是params要加一个ACL控制,public-read。
params: {
Bucket: DEFAULT_BUCKET_NAME,
Key: name,
Body: body,
ACL: 'public-read',
}
文章讲述了如何在AmazonS3上高效存储大量文本,最初使用PutObjectCommand和getSignedUrl存在时效性问题。作者发现通过`aws-sdk/lib-storage`的Upload方法并设置ACL为public-read,可以获取到永久有效的URL地址。
1898

被折叠的 条评论
为什么被折叠?



