使用nodejs调用亚马逊云aws api接口上传创建存储桶,上传文件

发布于 2020-01-01  811 次阅读


首先创建调用api用到的身份认证ID和SECRET

点击个人菜单,再选择我的安全凭证

然后选择创建组:

选择组,之后创建用户组和用户

选择完用户之后,给用户组选择权限,我这里选择的是管理员权限

选择完毕之后点击右下角的创建

创建完成之后来到下面的用户,创建用户

创建用户:

分配用户权限:

剩下的3和4就直接按下一步就好了,全部创建完毕之后我们就可以再控制台看到我们的id和key了

查看安全证书

创建密钥

创建完毕后会弹出一个窗口,告诉你id和key,这里需要注意下的是这个key只会显示一次,如果没有保存的话之后就无法再次查看了

之后就是代码部分了

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

创建存储桶:
const params = {
    Bucket: 存储桶名称,
    CreateBucketConfiguration: {
        // 选择地区
        LocationConstraint: "eu-west-1"
    }
};

s3.createBucket(params, function (err, data) {
    if (err) console.log(err, err.stack);
    else console.log('Bucket Created Successfully', data.Location);
});


const params = {
    Bucket: '创建的存储桶名称',
    Key: 存储的路径,如果是file/a.jpg 则会创建一个叫file文件夹把a.jpg写入
    Body: 一个buffer,一般用readfile把文件读成buffer来添加,貌似json也行,不过我这里没测试
};

上传文件:
s3.upload(params, function (err, data) {
    if (err) {
        throw err;
    }
    console.log(`File uploaded successfully. ${data.Location}`);
});


一个逐渐被时间遗忘掉的人