Client是OSS Node.js的客户端,用于管理存储空间和文件等OSS资源。使用Node.js SDK发起OSS请求时,您需要初始化一个Client实例,并根据需要修改默认配置项。
新建Client
V4签名(推荐)
推荐使用更安全的V4签名算法。使用V4签名初始化时,需要声明authorizationV4。OSS Node.js SDK 6.20.0及以上版本支持V4签名。
以使用OSS域名初始化时使用V4签名为例,其他通过自定义域名等初始化的场景可参考以下示例执行相应修改。
const OSS = require('ali-oss');
const client = new OSS({
// 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
// yourRegion填写Bucket所在地域。以华东1(杭州)为例,Region填写为oss-cn-hangzhou。
region: 'yourRegion',
authorizationV4: true,
// yourBucketName填写Bucket名称。
bucket: 'yourBucketName',
});
V1签名(不推荐)
重要
阿里云对象存储OSS自2025年03月01日起不再对新用户(即新UID )开放使用V1签名,并将于2025年09月01日起停止更新与维护且不再对新增Bucket开放使用V1签名。请尽快切换到V4签名,避免影响服务。更多信息,请参见公告链接。
使用OSS域名新建Client
以下代码用于使用OSS域名初始化。
const OSS = require('ali-oss');
const client = new OSS({
// yourRegion填写Bucket所在地域。以华东1(杭州)为例,Region填写为oss-cn-hangzhou。
region: 'yourRegion',
// 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
// yourBucketName填写Bucket名称。
bucket: 'yourBucketName',
});
使用自定义域名新建Client
以下代码用于使用自定义域名新建Client。关于使用自定义域名访问OSS的更多信息,请参见绑定自定义域名至Bucket默认域名。
重要
使用自定义域名无法使用client.listBuckets()方法。
const OSS = require('ali-oss')
const client = new OSS({
// 使用自定义域名作为Endpoint。
endpoint: 'http://img.example.com',
// 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
cname: true,
// yourBucketName填写Bucket名称。
bucket: 'yourBucketName',
});
配置Client
您可以在初始化Client时按需添加配置项,例如通过timeout
指定请求超时时间,通过stsToken
指定临时访问凭证等。关于Node.js支持的配置项以及配置示例,请参见配置项。