详细解答可以参考官方帮助文档
本文介绍如何在Node.js环境中快速使用OSS服务,包括查看Bucket列表、查看文件列表、上传/下载文件和删除文件。为了方便修改,本文会新建一个app.js
,以下功能演示代码都写在这个文件中。
在工作目录安装ali-oss
:
npm install ali-oss
由于SDK基于ES6开发,采用async/await
能够异步编程同步化。
为了支持callback的使用方式,SDK同时也提供了异步的基于Promise的接口,使用上类似callback,具体可参考这篇博客。
下面的文档将以同步的方式为例。
创建一个文件:app.js
并写入下面的内容:
let OSS = require('ali-oss');
let client = new OSS({
region: '<Your region>',
accessKeyId: '<Your AccessKeyId>',
accessKeySecret: '<Your AccessKeySecret>'
});
其中region
参数是指您申请OSS服务时的区域,例如oss-cn-hangzhou
。完整的区域列表可以在OSS服务节点查看。
如果所使用的endpoint不在上述列表中,可以通过以下参数指定endpoint:
region
使用,如果指定internal
为true
,则访问内网节点region
使用,如果指定了secure
为true
,则使用HTTPS访问http://oss-cn-hangzhou.aliyuncs.com
,如果指定了endpoint
,则region
会被忽略,endpoint
可以指定HTTPS,也可以是IP形式endpoint
使用,如果指定了cname
为true
,则将endpoint
视为用户绑定的自定义域名bucket
,则进行Object相关的操作时需要先调用useBucket
接口(只需要调用一次)在app.js
末尾添加如下内容,使用listBuckets
接口查看Bucket列表:
async function listBuckets () {
try {
let result = await client.listBuckets();
} catch(err) {
console.log(err)
}
}
listBucket();
运行并查看结果:node app.js
。
修改app.js
,使用list
接口查看文件列表:
client.useBucket('Your bucket name');
async function list () {
try {
let result = client.list({
'max-keys': 5
})
console.log(result)
} catch (err) {
consol.log (err)
}
}
list();
使用node app.js
运行并查看结果。
修改app.js
,使用put
接口上传一个文件:
client.useBucket('Your bucket name');
async function put () {
try {
let result = await client.put('object-key', 'local file');
console.log(result);
} catch (err) {
consol.log (err);
}
}
put();
修改app.js
,使用get
接口下载一个文件:
async function get () {
try {
let result = await client.get('object-key', 'local file');
console.log(result);
} catch (err) {
consol.log (err);
}
}
get();
修改app.js
,使用delete
接口删除一个文件:
async function delete () {
try {
let result = await client.delete('object-key');
console.log(result);
} catch (err) {
console.log (err);
}
}
delete();
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。