全部產品
Search
文件中心

:常見問題

更新時間:Aug 30, 2018

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,如果包含了,就說明正確了。