支持AWS S3协议说明
简介
UFile 支持AWS S3协议指可以通过 S3 SDK 直接对 UFile进行业务操作,目前支持的方法有 HEAD Object、 GET Object、 PUT Object、 Multipart Upload、 DELETE Object、 GET Bucket (List Objects) Version 2。
注:当前仅北京和上海二地域的bucket支持S3协议
使用说明
在使用S3 SDK时必须设置Endpoint参数,指定一个固定域名。
北京:
外网:s3-cn-bj.ufileos.com
内网:internal.s3-cn-bj.ufileos.com
上海:
外网:s3-cn-sh2.ufileos.com
内网:s3-internal-cn-sh2.ufileos.com
根据实际情况选择,目前只支持北京和上海二地域。
例如Java SDK:
AmazonS3 S3 = new AmazonS3Client(credentials);
s3.setEndpoint("http://s3-cn-bj.ufileos.com");
最终访问域名为 http://bucketname.s3-cn-bj.ufileos.com。
对于会进行MD5校验的请求,由于UFile的ETag是base64编码,所以必须设置不进行MD5校验。
例如Java SDK:
System.setProperty(SkipMd5CheckStrategy.DISABLEGETOBJECTMD5VALIDATION_PROPERTY, "");
System.setProperty(SkipMd5CheckStrategy.DISABLEPUTOBJECTMD5VALIDATION_PROPERTY, "");
各方法使用须知
1. HEAD Object、GET Object
注意设置不进行MD5校验。
2. PUT Object
注意设置不进行MD5校验。
3. Multipart Upload
注意设置不进行MD5校验。
4. DELETE Object
没有特殊要求。
5. GET Bucket (List Objects) Version 2
S3拉取文件列表有v1和v2版本,这里只支持v2版本,在使用SDK时需要注意。参数支持:max-keys、prefix、list-type、continuation-token(详情请参考S3 API文档)。