快速使用

快速运行 SDK 示例

1. 配置s3客户端文件

在项目根目录下,修改s3client.js 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const { S3Client } = require("@aws-sdk/client-s3");

const credentials = {
    accessKeyId: "",
    secretAccessKey: ""
};

const s3 = new S3Client({
    endpoint: "",  // http://s3-cn-sh2.ufileos.com
    region: "",   // cn-sh2
    signatureVersion: 'v4',
    forcePathStyle: true,
    credentials: credentials,
});
module.exports = s3;
  • 参数说明
参数名 参数描述 类型 是否必填
accessKeyId UCloud 的 API 公钥或者是 US3服务提供的 Token 公钥 String
secretAccessKey UCloud 的 API 私钥或者是 US3服务提供的 Token 私钥 String
endpoint 访问域名,具体可参考 AWS S3 协议支持说明 String
region 存储空间所在地域 String
signatureVersion AWS签名版本,默认使用签名版本 4 来验证请求 String
forcePathStyle 使用路径风格或虚拟主机风格,具体参考 AWS S3 协议支持说明 Boolean

2. 运行示例

首先确保已完成SDK示例的本地安装。 以文件上传为例,必须的输入参数为配置文件对应地域下的bucketName,需要保存在该Bucket 下的keyname (即文件名) ,以及待上传的文件的本地路径filePath,存储类型默认为标准存储。若要指定存储类型,参照S3协议支持说明,确认完输入信息后点击上传文件。

1
2
$ cd Examples/
$ node PutObject.js <bucketName> <keyName> <filePath> [storageClass]

注意

  • PutObject 目前仅支持 5GB 大小文件,如果需要上传大于 5GB 的文件,请采用分片上传的 API
  • PostObject 目前仅支持最大 32MB 文件的上传
  • CopyObject 目前仅支持最大 5G文件的拷贝
  • UploadPart 目前仅支持 8MB 定长分片大小(最后一个分片允许小于 8MB)。若有不定长分片的需求,请联系技术支持
  • US3 S3 对 AWS S3 兼容的存储类型及其转换规则参考 存储类型转换规则
  • US3 的 ETag 计算方式与 AWS S3 存在部分差异,建议不依赖该 ETag
  • 目前不支持 S3 API 的 MD5 校验,建议关闭
  • US3 的访问权限(ACL)定义与 AWS S3 存在差异,具体参考 访问权限定义(ACL)
  • 目前不支持多版本功能(Versioning)
  • 目前不支持标签功能(Tagging)
  • ListObjects请求中的max-keys参数(请求返回对象的最大数量)最大值为5000
  • 更详细的内容请查看 AWS S3 协议支持说明