在我的应用程序中有一个表单,该用户应该输入他们的AWS S3详细信息。在保存详细信息之前,我必须检查帐户是否正确。我正在使用Node js,mongodb,Angular js构建此应用程序。
更新 aws s3的详细信息是
{
"aws": {
"key": "",
"secretkey": "",
"region": "",
"bucket_name": ""
}
答案 0 :(得分:2)
使用AWS Javascript SDK,您应该使用构造函数中提供的凭据发出headBucket请求。
const AWS = require('aws-sdk');
const s3 = new AWS.S3({ credentials, region });
s3.headBucket({
Bucket: "examplebucket"
}, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
})
https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#headBucket-property
如果请求成功,您可以访问。
答案 1 :(得分:0)
如果您拥有用户凭据,则可以使用aws-sdk
作为节点模块。
在sdk config中设置凭据,并使用S3
API验证给定的存储分区。
npm install aws-sdk
var AWS = require('aws-sdk');
AWS.config = new AWS.Config();
AWS.config.accessKeyId = "accessKey";
AWS.config.secretAccessKey = "secretKey";
AWS.config.region = "region";
var s3 = new AWS.S3();
您可以参考site以获得更好的理解
答案 2 :(得分:0)
您可以尝试使用aws s3 sdk制作s3客户端,然后尝试调用您的应用需要的方法。例如,如果您需要在提供的存储桶中创建一个对象,那么只需尝试制作测试对象并查看它是否有效。您可以传递存储的凭据,如下面的链接: https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/loading-node-credentials-json-file.html
https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-credentials-node.html
const AWS = require('aws-sdk');
const fs = require('fs');
AWS.config.update({ accessKeyId: '...', secretAccessKey: '...' });
//make sure you pass proper credentials
const s3 = new AWS.S3();
fs.readFile('test-file.txt', function (err, data) {
if (err) { throw err; }
var base64data = new Buffer(data, 'binary');
const params = {
Bucket: '...bucket-name-here...',
Key: 'test-object.txt',
Body: base64data
};
s3.putObject(params, function(err, data) {
//check error or data to see if you have proper permissions.
});
});
另请参阅putObject方法的这些示例: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#putObject-property https://gist.github.com/homam/8646090