如何使用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存储桶 。
- AWS S3 JavaScript SDK getSignedUrl仅返回基本path
- 适用于node.js的AWS sdk
- 从Amazon S3存储中删除图像
- 我想在S3中存储用户的个人资料图像,并将其显示在客户端 – 将S3对象展示给移动客户端的最佳做法是什么?
- S3上传发送事件在本地使用deferred.notify()而不是在服务器上
- 如何使用getSignedUrl()将Node.js fluent-ffmpeg屏幕截图的目标文件夹设置为您的AWS S3存储桶?
- 使用节点js中的AWS sdk将整个目录树上传到S3
- 如何通过webapp上传一个一兆字节的文件到Amazon S3?
- MalformedXML:您提供的XML格式不正确,或者没有针对我们发布的模式进行validation