[英]How to verify AWS S3 bucket details is valid or not using Nodejs?
在我的应用程序中有一个表格,该用户应该输入其AWS S3详细信息。 保存详细信息之前,我必须检查帐户是否正确。 我正在使用Node js,mongodb,Angular js构建此应用程序。
UPDATE AWS S3的详细信息是
{
"aws": {
"key": "",
"secretkey": "",
"region": "",
"bucket_name": ""
}
使用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
如果请求成功,您就可以访问。
如果您具有用户凭据,则可以使用可作为节点模块使用的aws-sdk
。
在sdk配置中设置凭据,并使用S3
API验证给定的存储桶。
npm安装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();
您可以参考该网站以更好地了解
您可以尝试使用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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.