快速使用

快速运行 SDK 示例

1. 配置s3客户端文件

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

1
2
3
4
5
6
accessKeyId=
secretAccessKey=
region=cn-bj
endpoint=http://s3-cn-bj.ufileos.com
signatureVersion=v4
forcePathStyle=true
  • 参数说明
参数名 参数描述 类型 是否必填
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 src/
$ php Upload.php <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 协议支持说明