繁体   English   中英

AWS S3 Javascript SDK-使用浏览器中的密钥和机密从私有存储区下载文件

[英]AWS S3 Javascript SDK - download file from private bucket with key and secret in browser

我在创建访问密钥的S3专用存储桶中有csv文件。 我已在Python中成功使用密钥和秘诀将csv文件下载到磁盘。

现在,我正在尝试使用AWSJavaScriptSDK在浏览器中使用JavaScript来检索csv文件。

请注意,这是我将仅在计算机上使用的东西,因此不必担心页面中是否包含密钥和机密。

我已经正确设置了CORS,并且能够使用下面的脚本成功获取文件名。 我还尝试了此代码的变体,该变体列出了存储桶中的所有文件,这些文件也有效。 因此,我正在正确地验证和访问存储桶。

但是我找不到任何非Node.js示例来检索csv文件,并使用浏览器中适用于JavaScript的AWSJavaScriptSDK将其下载到磁盘。

<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放入磁盘,甚至更好地将其流式传输到浏览器?

以下应打印对象的内容。 获得内容后,您可以在屏幕上放置标签并动态生成下载文件的点击事件,也可以解析CSV内容并将其用于D3。

bucket.getObject({
    "Key": prefix
  }, function (error, data) {
    if (error) {
      return console.log(error);
    }
    console.log(data.Body.toString());
  });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM