本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
Client是OSS Node.js的客户端,用于管理存储空间和文件等OSS资源。使用Node.js SDK发起OSS请求时,您需要初始化一个Client实例,并根据需要修改默认配置项。
注意事项
- 初始化OSSClient前,您需要配置访问凭证,本文以从环境变量读取访问凭证为例,详情请参见配置访问凭证。 
- 关于OSS支持的Region与Endpoint的对应关系,请参见OSS地域和访问域名。 
- 关于创建RAM用户的AccessKey,请参见创建AccessKey。 
前置条件
在配置客户端前,您需要先使用RAM用户AccessKey完成配置环境变量。
- 使用RAM用户AccessKey配置环境变量。 - Linux- 在命令行界面执行以下命令来将环境变量设置追加到 - ~/.bashrc文件中。- echo "export OSS_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.bashrc echo "export OSS_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.bashrc- 执行以下命令使变更生效。 - source ~/.bashrc
- 执行以下命令检查环境变量是否生效。 - echo $OSS_ACCESS_KEY_ID echo $OSS_ACCESS_KEY_SECRET
 
 - macOS- 在终端中执行以下命令,查看默认Shell类型。 - echo $SHELL- 根据默认Shell类型进行操作。 - Zsh- 执行以下命令来将环境变量设置追加到 - ~/.zshrc文件中。- echo "export OSS_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.zshrc echo "export OSS_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.zshrc
- 执行以下命令使变更生效。 - source ~/.zshrc
- 执行以下命令检查环境变量是否生效。 - echo $OSS_ACCESS_KEY_ID echo $OSS_ACCESS_KEY_SECRET
 - Bash- 执行以下命令来将环境变量设置追加到 - ~/.bash_profile文件中。- echo "export OSS_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.bash_profile echo "export OSS_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.bash_profile
- 执行以下命令使变更生效。 - source ~/.bash_profile
- 执行以下命令检查环境变量是否生效。 - echo $OSS_ACCESS_KEY_ID echo $OSS_ACCESS_KEY_SECRET
 
 
 - Windows- CMD- 在CMD中运行以下命令。 - setx OSS_ACCESS_KEY_ID "YOUR_ACCESS_KEY_ID" setx OSS_ACCESS_KEY_SECRET "YOUR_ACCESS_KEY_SECRET"- 运行以下命令,检查环境变量是否生效。 - echo %OSS_ACCESS_KEY_ID% echo %OSS_ACCESS_KEY_SECRET%
 
 - PowerShell- 在PowerShell中运行以下命令。 - [Environment]::SetEnvironmentVariable("OSS_ACCESS_KEY_ID", "YOUR_ACCESS_KEY_ID", [EnvironmentVariableTarget]::User) [Environment]::SetEnvironmentVariable("OSS_ACCESS_KEY_SECRET", "YOUR_ACCESS_KEY_SECRET", [EnvironmentVariableTarget]::User)- 运行以下命令,检查环境变量是否生效。 - [Environment]::GetEnvironmentVariable("OSS_ACCESS_KEY_ID", [EnvironmentVariableTarget]::User) [Environment]::GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET", [EnvironmentVariableTarget]::User)
 
 
- 参考上述方式修改系统环境变量后,请重启或刷新您的编译运行环境,包括IDE、命令行界面、其他桌面应用程序及后台服务,以确保最新的系统环境变量成功加载。 
默认配置示例
以下代码示例演示了如何使用V4签名和V1签名配置OSSClient。
V1签名(不推荐)
常见场景配置示例
如果您有配置其它域名的需求,请参考以下代码示例。请注意,以下代码示例默认使用V4签名以及RAM用户的AK信息。
内网域名配置示例
当您的应用部署在阿里云的ECS实例上,并且需要频繁访问同地域的OSS资源时,使用内网域名可以降低流量成本并提高访问速度。
以下是使用OSS内网域名配置OSSClient的示例代码。
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: 'oss-cn-hangzhou',
  //使用V4签名
  authorizationV4: true,
  // yourBucketName填写Bucket名称。
  bucket: 'yourBucketName',
  // yourEndpoint填写Bucket所在地域对应的内网Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou-internal.aliyuncs.com。
  endpoint: 'yourEndpoint',
});自定义域名配置示例
以下是使用自定义域名配置OSSClient的示例代码。
您需要先将自定义域名绑定至Bucket默认域名,否则将引发报错!关于绑定自定义域名的详细操作,请参见绑定自定义域名至Bucket默认域名。
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: 'oss-cn-hangzhou',
  // 使用V4签名
  authorizationV4: true,
  // yourBucketName填写Bucket名称。
  bucket: 'yourBucketName',
  // yourEndpoint请填写您的自定义域名。例如https://static.example.com。
  endpoint: 'yourEndpoint',
  // 设置true开启CNAME选项。
  cname: true,
});传输加速域名配置示例
以下是使用传输加速域名配置OSSClient的示例代码。
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: 'oss-cn-hangzhou',
  //使用V4签名
  authorizationV4: true,
  // yourBucketName填写Bucket名称。
  bucket: 'yourBucketName',
  // yourEndpoint请填写传输加速域名。例如'oss-accelerate.aliyuncs.com'
  endpoint: 'oss-accelerate.aliyuncs.com',
});相关文档
关于OSSClient的更多配置选项,请参见官网示例。

