1.參照 開通oss服務並建立儲存空間,得到訪問的網域名稱endpoint、accesskeyid和accesskeysecret;
3. **移植
根據不同的開發語言,到的sdk參考中開啟對應語言的頁面,如本例中是php的,頁面如
3.b 構建本地php開發環境,修改sdk中sample下的config.php,即第1步中的網域名稱、ak/sk, 然後執行 sdk中 samples下的runall.php 即可看到各case都能正常執行
3.c 根據示例程式了解oss api, 可以是這裡的例子 也可以是sdk中samples下的各個*.php,使用最多的是object.php中的幾個介面。網頁中的一些介面描述尤其是返回值與samples中的有出入,最好是看samples中的**示例
3.d 把sdk放到應用的protected/extension/aliyun-oss目錄下,不用把sdk全部檔案都放進去,只需要放src下的oss目錄,及入口函式autoload.php即可,
即 aliyun-oss
------ autoload.php
------- oss/***
3.e **中遇到的問題及解決
3.e.1 file upload failed bucker_xx\/558be3c66aa2fda90452b6bc1acbd4d0
3.e.2 include(ossclient.php): failed to open stream:no such file or directory
3.e.3 "0:http body content is invalid: 上傳size 為0的檔案時,putobject會呼叫ossutil::validatecontent()對長度作判斷,允許0長度檔案時可以去掉此判斷
\/oss\/core\/ossutil.php:197:
\/oss\/ossclient.php(978):oss\\core\\ossutil::validatecontent('''')\n
3.e.4 "ret":"0:上傳的檔案不存在
3.e.5 error[8]: trying to get property of non-object
3.e.6 "ret":"0:nosuchkey: the specified keydoes not exist. requestid: 5a39db1d6ff1c5510c4153af
3.e.7 error[2]:filesize(): stat failed for file to be downloaded
header('content-disposition: attachment; filename="'.$downloadname.'"');
針對各個問題,歸納起來原因,主要在於aws s3與aliyun oss的介面設計差異及返回值差異,相對來說,aws s3的介面設計及引數尤其返回值obj中包含的資訊更詳細更完整些(如obj->header, obj->body等),aliyun oss的就相對簡單很多,返回的obj就是object的內容,不包含各種輔助資訊。
具體實現的介面及呼叫介面:getossclient:
function getossclient()
catch (os***ception $e)
return $client;
} if (!$client->doesbucketexist(self::oss_bucket_name)) catch (os***ception $e)
}catch(os***ception $e)
呼叫sample:
$client = getossclient();
}try {
$ret = $client->putobject(self::oss_bucket_name, $objname, file_get_contents($filename));
try{
$obj = $client->getobject($bucket, $objname);
if(strlen($obj) > 0) {
AWSS3技術點分析
awss3技術點分析 一 s3的特點 l 面向internet的物件儲存 物件通俗來講就是乙個完整檔案,沒有進行追加寫入的 可斷電儲存在物理介質 硬碟或其他磁碟 中的檔案。l 乙個物件的大小可以高達5tb l 每個物件儲存在儲存桶中,通過開發人員分配的唯一金鑰進行檢索 l 彈性儲存,無限儲存空間 無...
給AWS S3新增事件
有時候當我們的系統完成了計算得到了新的資料時,把新的資料儲存在s3上,這時候我們需要進行下一步的處理。有幾種方式來處理 1 特定時間去觸發,比如你知道每天早上8點左右資料就能處理完,所以你可以將下乙個處理程式定時每天9點開始跑。2 你下乙個特定程式,每天8點的時候去check資料是否complete...
向AWS S3 上傳檔案
目的是為了要上傳大一些的檔案,如果中間網路出現問題,後面可以有斷點續傳類似的功能。控制台 aws s3api list multipart uploads bucket bucket name aws s3api abort multipart upload bucket bucket name k...