如何使用aws-sdk获取AWS S3上的文件的URL?
我正在使用AWS Lambda函数创build一个文件并将其保存到S3上的存储桶中,该文件工作正常。 执行putObject
方法后,我得到一个data
对象,但它只包含最近添加的对象的Etag
。
s3.putObject(params, function(err, data) { //data only contains Etag });
我需要知道我可以在浏览器中使用的确切URL,以便客户端可以看到该文件。 该文件夹已经公开,我可以看到该文件,如果我从S3控制台复制链接。
我试过使用getSignedUrl
但它返回的URL用于其他目的,我相信。
谢谢!
当你调用PutObject的时候,你提供了bucket和对象的key。 您可以简单地组合这些对象的URL,例如:
- http://s3.amazonaws.com/bucket/key (用于path样式的URL),或者
- http://bucket.s3.amazonaws.com/key (针对虚拟主机风格的url)
所以,例如,如果你的存储桶是pablo ,而对象关键字是dogs / toto.png ,则使用:
- http://s3.amazonaws.com/pablo/dogs/toto.png (用于path样式的URL)或
- http://pablo.s3.amazonaws.com/dogs/toto.png (针对虚拟主机风格的url)
有关区域特定的存储桶,请参阅使用Amazon S3存储桶 。