全部产品
对象存储 OSS

常见问题

更新时间:2017-08-21 11:18:18   分享:   

OSS MEDIA C SDK和OSS C SDK是啥关系?

  • OSS MEDIA C SDK依赖于OSS C SDK,OSS MEDIA C SDK中的上传和下载等功能是通过调用OSS C SDK的接口实现的。

OSS MEDIA C SDK是否支持windows?

  • 目前还不支持。

是否支持追加写文件?

  • 支持,调用oss_media_file_open时使用“a”模式,然后可以通过多次调用oss_media_file_write接口实现追加写。

什么是role arn?如何获取role arn?

  • role arn表示的是需要扮演角色的id,由阿里云访问控制RAM提供。可以前往访问控制RAM > 角色管理 > 点击已经创建的角色名称 > 基本信息 > Arn,值类似于:acs:ram::xxxx:role/yyyyy。如果还没有已创建的角色,需要在角色管理页面创建一个新的用户角色,并赋予AliyunSTSAssumeRoleAccess和其他相应角色,更详细的介绍可以参考:RAM的文档

如何运行sample?

  • 修改sample/config.c文件,增加自己的access key id,access key secret,bucket等值,然后编译后,在bin目录下就会出现sample的可执行文件

报错:error:a timeout was reached

  • 检查一下host的值,是否是类似于oss-cn-hangzhou.aliyuncs.com的值。这个是C SDK的一个已知问题,会在后期版本修复。

运行sample时报错:error:Couldn’t resolve host name 和[code=-990, message=HttpIoError]

  • 修改sample/config.c文件,配置您自己的参数值,然后重新编译即可。测试也一样。

客户端和服务端的access key id,access key secret,token配置有啥不同和注意点?

  • 服务端只需要配置access key id和access key secret,这两个值有两种来源:第一个是主账号的AccessKeys,第二个是主账号生成的子账号的AccessKeys。
  • 客户端有两种配置方式,第一种是和服务端一样,只配置主账号或者子账号的access key id,access key secret,第二种是配置access key id,access key secret和token三个值,但这三个值都是服务端通过oss_media_get_token或者oss_media_get_token_from_policy获取到的临时AccessKey和token,有时间期限,超过有效期后,就不能再次使用。

执行sample获取token的时候出现以下错误:http_code=500, error_code=GetSTSTokenError, error_message=Internal Error

  • 原因是安装的libcurl不支持HTTPS协议,导致无法访问sts服务。具体过程是机器上没有安装openssl-devel等ssl的开发包,在编译libcurl的时候找不到ssl,libcurl就自动禁止了HTTPS协议,导致编译出来的libcurl库不支持HTTPS,最终访问STS失败。
  • 解决办法是先安装openssl-devel等ssl开发包,然后重新安装libcurl。在安装libcurl时,当执行完./configure后,检查最后一行的Protocols里包含了HTTPS,如果包含了,就说明正确了。
本文导读目录
本文导读目录
以上内容是否对您有帮助?