Node.js初始化

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填写为cn-hangzhou。
  region: 'yourRegion',
  authorizationV4: true,
  // yourBucketName填写Bucket名称。
  bucket: 'yourBucketName',
});

V1签名(不推荐)

重要

阿里云对象存储OSS自2024年12月1日起不再对新用户(即新UID )开放使用V1签名,并将于2025年06月01日起停止更新与维护且不再对新增Bucket开放使用V1签名。请尽快切换到V4签名,避免影响服务。更多信息,请参见公告说明

使用OSS域名新建Client

以下代码用于使用OSS域名初始化。

const OSS = require('ali-oss');

const client = new OSS({
  // yourRegion填写Bucket所在地域。以华东1(杭州)为例,Region填写为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支持的配置项以及配置示例,请参见配置项