天天看点

【答疑】对象存储OSS常见问题解答(SDK类1)

1. OSS C SDK,是否支持在mac系统上运行?

解答:不支持。

截止本文撰写之际,官网文档基于OSS C SDK 3.6.0编写。

兼容性
对于3.*.*系列SDK:兼容。

对于 2.*.*系列SDK:
Windows兼容。
Linux接口兼容,链表(aos_list_t)遍历接口不兼容。
os_list_for_each_entry
aos_list_for_each_entry_reverse
aos_list_for_each_entry_safe
aos_list_for_each_entry_safe_reverse

对于 1.0.0 系列SDK:以下结构体和接口不兼容,其余都兼容。
oss_request_options_t
oss_get_object_to_buffer
oss_get_object_to_file
oss_get_object_to_buffer_by_url
oss_get_object_to_file_by_url
oss_init_multipart_upload
oss_complete_multipart_upload

对于 0.0.*系列SDK:不兼容。           

详见官网说明:

https://help.aliyun.com/document_detail/32131.html

2. OSS C SDK里写死了获取系统时间,有什么方法可以替换掉采用系统时间的逻辑吗?

解答: SDK获取系统时间的方案是标准做法。如果用户有自定义设置时间的需求,OSS提供一个扩展的x-oss-date的自定义字段,可以通过用户来传入,OSS服务器端会优先采用x-oss-date。

OSS SDK签名时请求头支持x-oss-date,
允许用户指定签名时间,解决系统时间偏差导致签名出错的问题。           

详见官网说明:

https://help.aliyun.com/document_detail/32175.html

3. IOS SDK里的 OSSPlainTextAKSKPairCredentialProvider是否已被废弃了?

解答:不建议再使用OSSPlainTextAKSKPairCredentialProvider。建议使用STS的方式。

STS是一个安全凭证(Token)的管理系统,用来授予临时的访问权限,
这样就可以通过STS来完成对于临时用户的访问授权。           

关于STS的使用,详见官网文章:

《【权限管理-最佳实践】STS临时授权访问》

https://help.aliyun.com/document_detail/31935.html

4. Java SDK中的setRange(offsetBegin, offsetEnd)方法,如何设置从offsetBegin读到文件末尾?

解答:请通过设置offSetEnd=-1,来做到读到文件末尾。

如果指定的范围无效(比如开始或结束位置的指定值为负数,或指定值大于文件大小),则下载整个文件。           

关于范围下载,详见官网说明:

https://help.aliyun.com/document_detail/84825.html