1. 程式人生 > >使用AWS PHP SDK存取天翼雲的物件儲存(OSS)

使用AWS PHP SDK存取天翼雲的物件儲存(OSS)

    物件儲存(Object-Oriented Storage,OOS)是AWS發明的雲端儲存服務, AWS稱之為S3(Simple Storage Service). 物件儲存為客戶提供的一種海量、彈性、高可用、高性價比的儲存服務,按需使用,像一個超級硬碟一樣。

     中國電信天翼雲提供物件儲存(OOS)服務,其API介面相容AWS S3介面。與眾不同的是,中國電信提供一種專線,稱為雲專線,將企業的區域網與雲直連。企業可通過專線訪問物件儲存,不需通過網際網路訪問,既安全又高速。這樣訪問物件儲存就跟訪問本地硬碟一樣快,最高可達到1000M bps, 非常適合於企業大資料量儲存、備份。

     使用物件儲存有兩種方式: 

第一種是通過門戶網頁,手工操作上下載檔案。翼雲物件儲存的門戶網址是  http://oos.ctyun.cn/。到電信公司開個戶,即可使用。

第二種是通過呼叫API, 程式方式上下載檔案。天翼雲相容AWS S3介面,  可以採用AWS SDK實現API呼叫。 到電信公司開個戶,在門戶網頁登入後,可獲得Access Key 和 Secret, 用於開發。

我經常使用的是PHP,  本文小結一個如何使用AWS PHP SDK存取天翼雲的物件儲存(OSS)。

一、下載AWS PHP SDK

  AWS PHP SDK版本選擇:   經測試,目前天翼雲只能使用 AWS PHP SDK V2.x 版本。不能使用V3.x版本。

 我下載phar檔案(只有一個檔案方便用), 下載地址: 

二、AWS PHP SDK的使用

簡單說, 就是建立一個 S3Client物件, 然後呼叫 S3Client物件的幾個方法,比如: getObject() 下載物件檔案  putObject() 上載物件檔案。

關於S3Client物件的開發說明文件在:http://docs.aws.amazon.com/aws-sdk-php/v2/api/class-Aws.S3.S3Client.html

當訪問天翼雲,建立S3Client物件時,要宣告 endpoint 為天翼雲的伺服器地址即可。

例程:

<?php

require 'aws.phar'; ////包含AWS SDK檔案 aws.phar(只能使用V2版的SDK)
use Aws\S3\S3Client;   //宣告使用Aws名稱空間中的S3Client類

//天翼雲的API伺服器
$endpoint = 'http://oos.ctyunapi.cn'; 

//Access Key 在天翼雲門戶網站-帳戶管理-API金鑰管理中獲取
$accessKey = "ACCESS KEY ID"; 

//Access Secret 在天翼雲門戶網站-帳戶管理-API金鑰管理中獲取
$accessSecret = "SECRECT ID";

//建立S3 client 物件
$client = S3Client::factory([
	'endpoint' => $endpoint,  //宣告使用指定的endpoint
	'key'      => $accessKey,
	'secret'   => $accessSecret
]);

header('content-type:text/plain');

//列出所有buckets
$result = $client->listBuckets(array());
foreach ($result['Buckets'] as $bucket) {
	// Each Bucket value will contain a Name and CreationDate
	echo "{$bucket['Name']} - {$bucket['CreationDate']}\n";
}

echo "\n\n";

//列出指定bucket下所有的object
$bucket = 'cwz-public';
$result = $client->listObjects(array(
		'Bucket' => $bucket
));
foreach ($result['Contents'] as $object) {
	// Each Bucket value will contain a Name and CreationDate
	echo "{$object['Key']} - {$object['Size']}\n";
}

echo "\n\n";

//上傳一個object
$bucket = 'my-public';
$key = 'new.txt';
$body = file_get_contents('new.txt');
$client->upload($bucket, $key, $body);

//下載一個object
$result = $client->getObject(array(
		'Bucket' => $bucket,
		'Key'    => 'new.txt'
));
echo $result['Body']; //顯示檔案物件的內容

?>

三、小結

例程程式碼很簡單。要點是兩個:

1, 使用AWS SDK v2.x版本。

2,  建立S3 client 物件是,要指定 endpoint 為天翼雲API伺服器

$client = S3Client::factory([

    'endpoint'=> $endpoint,

    'key'     => $accessKey,

    'secret'  => $accessSecret

]);

    S3Client還有很多方法, 看文件慢慢玩吧!

相關推薦

使用AWS PHP SDK存取物件儲存(OSS)

    物件儲存(Object-Oriented Storage,OOS)是AWS發明的雲端儲存服務, AWS稱之為S3(Simple Storage Service). 物件儲存為客戶提供的一種海量、彈性、高可用、高性價比的儲存服務,按需使用,像一個超級硬碟一樣。    

乾貨 | 基於Go SDK操作京東物件儲存OSS的入門指南

    前言 本文介紹如何使用Go語言對京東雲物件儲存OSS進行基本的操作,幫助客戶快速通過G

阿里-物件儲存OSS

文件地址 https://help.aliyun.com/document_detail/32099.html?spm=a2c4g.11186623.6.766.74cdc839H0RSId 安裝(此處為composer安裝) 1、PHP 5.3+ 2、擴

阿里物件儲存OSS使用記錄: 如何把oss中Bucket的檔案URL連線設定成永久有效

一、OSS本身的許可權控制 1.許可權型別 Bucket目前有三種訪問許可權:public-read-write,public-read和private; 2.許可權設定與獲取 通過控制檯設定Bucket級別和object級別的操作; 控制檯: Bucket:

阿里物件儲存OSS之通過URL形式進行圖片處理

文章目錄 1. 什麼是OSS 2. OSS圖片服務 3. 圖片處理訪問規則 4. 通過URL的形式 5. 多個action之間組合形式 5.1 示例 5.2 圖片旋轉 5.3 圖片裁剪

阿里物件儲存OSS--實現隨時隨地上傳檔案到阿里

需求背景:消費者多批次回饋我司生產的車載智慧後視鏡出現宕機、連不上伺服器等問題,因產品已經出到全國各地不方便去取異常log,也不可能要求消費者把log傳給我們分析。 需求目標:公司內部實現遠端後臺上傳問題機型的log。 必備條件:後視鏡有SIM卡且能夠聯網(

RDS數據庫操作

info 創建 post 數據庫導出 技術分享 creat 鏈接地址 span sql文件 1.RDS數據庫創建好之後點擊RDS實例管理找到已下信息 官方文檔 -1:http://www.ctyun.cn/help/qslist/567 官方文檔 -2:http://w

服務開發埠

今天申請了一個天翼雲試用伺服器,執行程式時,發現使用 IP+埠 訪問不了,天翼雲控制檯也沒有可以設定開發埠的方法。 解決方法: 除 80、8080、443幾個特殊的介面需要備案後才能使用外,其他埠只需要在防火牆上開啟即可。 新增 firewall-cmd --zone=pu

配置centos系統,多伺服器

配置centos系統1.yum安裝JDK(應用伺服器)先檢視系統有沒有自帶的openjdkrpm -qa |grep java rpm -qa |grep jdk rpm -qa |grep gcj存在

建立內網彈性負載均衡

準備條件: 1、在同一個資源池內準備大於2臺的雲主機,本次測試我準備了3臺主機; 2、建立主機後使用金鑰對方式並將金鑰對下載至本地主機或同一資源池內的其它雲主機; 彈性負載均衡是一種將訪問流量自動分發到多臺雲伺服器,擴充套件應用系統對外的服務能力,實現更高水平的應用容錯

Linux主機收集系統及硬體資訊總結

      天翼雲Linux主機主流Linux系統有Centos、Ubuntu、Debian和openSUSE,這裡主要講的是Centos與Ubuntu下如何收集使用者系統及硬體資訊。 一、系統資訊收集 使用uname命令而不用任何開關將列印系統資訊或uname -s命令

php用最簡單的方式實現7牛物件儲存檔案上傳

今天看了一下七牛雲的物件儲存 簡單看了一下開發文件實現了七牛雲的檔案上傳 七牛雲檔案有免費的空間 所以還是挺有用的 只需要改三個配置就行 設定 <?php require 'qiniuy/autoload.php'; use Qiniu\Auth

騰訊物件儲存PHP與JS對接版本

(PS:這些問題都是前端小夥伴們遇到的)var self = this; var random = parseInt(Math.random() * Math.pow(2, 32)); var now = parseInt(new

騰訊物件儲存服務(cos)之PHP實踐

雲物件儲存服務, BAT都有其業務, 本文選擇騰訊是因為騰訊有每月免費流量, 而阿里和百度都是需要先付費後使用, 另外新興的像七牛雲端儲存, 也是很不錯的解決方案. 貼程式碼 <?php

中國電信主機

雲桌面 tps 桌面 ima ron www pro sha 主機 電信天翼雲www.ctyun.cn雲主機 雲桌面 雲存儲官網標準價格最低6折掃二維碼聯系我 中國電信天翼雲主機

react使用阿里物件儲存,ali-oss, antd upload to ali-oss

最近寫阿里雲圖片上傳,碰到一些小問題,在此總結一下. 專案環境: create-react-app antd node6.1.0 看了阿里雲oss物件儲存sdk 直接採用node 的安裝方式. 在使用的時候碰到了問題. yield client.put('file',

副文字編輯器 KindEditor 實現圖片上傳到騰訊物件儲存 COS

目錄   一、主要功能實現 二、效果圖 三、需要匯入的包 四、前端程式設計 五、後臺程式設計 六、github 下載 附加內容: 一、主要功能實現 1、配置 KindEditor  2、在 KindEditor 中實現圖片上傳

【教程】使用S3fs讓KEC主機直接掛載KS3 金山物件儲存bucket

 S3fs是一款基於FUSE的檔案系統介面卡,通過S3fs能夠使物件儲存直接掛載到雲平臺虛擬機器,如雲硬碟一般使用,非常的方便。本教程教你如何在Linux系統上使用S3fs 對於Ubuntu 14.04,執行: sudo apt-get install automake autotools

阿里 javascript上傳檔案(圖片、視訊、壓縮包等檔案)到 物件儲存 OSS ,返回上傳檔案、圖片、音訊、視訊等URL路徑

目的:前端上傳檔案(圖片、視訊、音訊等)到阿里雲伺服器裡面,並且獲得上傳檔案的URL路徑 前提:首先要買一個阿里雲伺服器,自己百度不會; 第一步:登入阿里雲賬號,點選管理控制檯-->物件儲存 OSS 第二步:新建儲存空間(圖一、圖二) (圖一) (圖二

阿里伺服器 物件儲存OOS(二) ---圖片上傳與讀取demo

上一篇講解了無需程式碼操作的阿里OOS雲物件儲存 http://blog.csdn.net/u014520797/article/details/53945912 1、SDK下載,不下載也可以,文章最後有demo,demo裡面有jar包 https://help.aliyun.com/d