Ikhtisar
SDK OSS menyediakan alat untuk mengintegrasikan tanda tangan serta proses unggah dan unduh. Namun, Anda mungkin perlu menggunakan operasi API untuk mengunggah dan mengunduh objek dengan tanda tangan dalam praktiknya. Topik ini menggunakan PutObject sebagai contoh untuk menjelaskan cara memanggil operasi PutObject di PHP.
Catatan
Catatan: Disarankan untuk menggunakan SDK OSS. Topik ini memberikan contoh penggunaan tanda tangan untuk mengunggah objek. Anda dapat menyesuaikan kode sesuai kebutuhan bisnis dalam implementasi nyata.
Detail
Berikut adalah contoh kode untuk mengimplementasikan PutObject di PHP 5.6.30:
<? php
function curlput($url,$data,$method='PUT',$bucket,$object,$accesskey ,$accesskeySecret){
$time = gmdate ("D, d M Y H:i:s T");
$str = "PUT\n\n"."application/json\n".$time."\n/".$bucket." /".$object;
//echo($str);
$signature = base64_encode(hash_hmac("sha1", $str, $accesskeySecret, true));
//echo($time);
//echo($signature);
$ch = curl_init(); // inisialisasi handle CURL.
curl_setopt($ch, CURLOPT_URL, $url); // Setel URL permintaan.
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); // Setel metode permintaan.
$headers = array(
"Date:".$time,
'Content-Type:application/json',
"Authorization:OSS ".$accesskey.":".$signature
);
curl_setopt($ch,CURLOPT_HTTPHEADER,$headers);// Setel header HTTP.
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);// Setel string yang akan dikirimkan.
$document = curl_exec($ch);// jalankan CURL yang telah ditentukan sebelumnya
if(! curl_errno($ch)){
$info = curl_getinfo($ch);
echo 'Mengambil ' . $info['total_time'] . ' detik untuk mengirimkan permintaan ke ' . $info['url'];
} else {
echo 'Kesalahan Curl: ' . curl_error($ch);
}
curl_close($ch);
return $document;
}
$accesskey ='xxx';
$accesskeySecret ='xxx';
$bucket = 'namabucket';
$object = 'mytest/2.txt';
$url = 'http://bucketname.oss-cn-hangzhou.aliyuncs.com/mytest/2.txt';
$data = "{wewwe:wewee}";
$return = curlput($url, $data, 'PUT',$bucket,$object,$accesskey,$accesskeySecret);
var_dump($return);
exit;
? >
Dokumentasi
Untuk informasi lebih lanjut tentang penggunaan SDK OSS, lihat menambahkan tanda tangan ke header OSS.
Ruang Lingkup
- OSS