从S3下载使用Javascript

从S3下载使用Javascript

问题描述:

我有一个JavaScript文件,我试图用它从我的S3存储桶中下载文本文件。但是,当我使用“node file.js”执行此文件时,没有任何事情发生/返回。这里有什么问题我应该打电话吗?谢谢!从S3下载使用Javascript

var AWS = require('aws-sdk'); 
var s3 = new AWS.S3(); 

var credentials = new AWS.SharedIniFileCredentials({profile: 'personal-account'}); 
AWS.config.credentials = credentials; 

s3.getObject(
    { Bucket: "mybucket", Key: "testing.txt" }, 
    function (error, data) { 
    if (error != null) { 
     alert("Failed to retrieve an object: " + error); 
    } else { 
     alert("Loaded " + data.ContentLength + " bytes"); 
    } 
    } 
); 

print("this file has been executed") 

没有在JavaScript中没有print功能以及在环境的NodeJS没有alert

所以你必须使用类似console.log的东西来代替。

var AWS = require('aws-sdk'); 
var s3 = new AWS.S3(); 

var credentials = new AWS.SharedIniFileCredentials({profile: 'personal-account'}); 
AWS.config.credentials = credentials; 

s3.getObject(
    { Bucket: "mybucket", Key: "testing.txt" }, 
    function (error, data) { 
    if (error != null) { 
     console.log("Failed to retrieve an object: " + error); 
    } else { 
     console.log("Loaded " + data.ContentLength + " bytes"); 
    } 
    } 
); 

console.log("this file has been executed") 

但是,如果你没有看到任何输出,甚至错误,那么你的设置是完全错误的。很难说出究竟是什么。

设置您的凭证后创建S3客户端:

var AWS = require('aws-sdk'); 

var credentials = new AWS.SharedIniFileCredentials({profile: 'personal-account'}); 
AWS.config.credentials = credentials; 

var s3 = new AWS.S3(); 

s3.getObject(
    { Bucket: "mybucket", Key: "testing.txt" }, 
    function (error, data) { 
    if (error != null) { 
     console.log("Failed to retrieve an object: " + error); 
    } else { 
     console.log("Loaded " + data.ContentLength + " bytes"); 
    } 
    } 
); 

console.log("this file has been executed");