我在S3私有存储桶中有csv文件,我已经创建了访问密钥。我在Python中成功使用密钥和密钥将csv文件下载到磁盘。
现在我正在尝试AWSJavaScriptSDK在浏览器中使用JavaScript来检索csv文件。
请注意,这是我将仅在我的计算机上使用的内容,因此不关心页面中是否有密钥和密码。
我已正确设置CORS,并且使用下面的脚本成功获取文件名。我还尝试了这个代码的变体,列出了桶中的所有文件,它们也有效。所以我正在验证并正确访问存储桶。
但我找不到任何非Node.js示例来检索csv文件并使用浏览器中的AWSJavaScriptSDK for JavaScript将其下载到磁盘。
<div id="status"></div>
<ul id="objects"></ul>
<script src="https://sdk.amazonaws.com/js/aws-sdk-2.6.3.min.js"></script>
<script type="text/javascript">
AWS.config.accessKeyId = 'xxxxxxxxxxxxxxxxx';
AWS.config.secretAccessKey = 'xxxxxxxxxxxxxxxxx';
AWS.config.region = 'us-east-1';
// create the AWS.Request object
var bucket = new AWS.S3();
bucket.getObject({
Bucket: 'xxxxxxxxxxxxxxx',
Key: 'filename.csv'})
.on('success', function(response) {
console.log("Key was", response.request.params.Key );
}).send();
</script>
我的最终目标是在D3.js和图表数据中使用csv文件。
如何将csv放到磁盘上,甚至更好地将其传输到浏览器中?
答案 0 :(得分:1)
以下应打印对象的内容。获得内容后,您可以在屏幕上放置标记并动态生成下载文件的点击事件,或者解析CSV内容并将其用于D3。
bucket.getObject({
"Key": prefix
}, function (error, data) {
if (error) {
return console.log(error);
}
console.log(data.Body.toString());
});