Simple upload memungkinkan Anda mengunggah konten sebagai string atau dari file lokal. Topik ini menyediakan contoh kode untuk string upload dan file upload.
Catatan penggunaan
-
Pada topik ini digunakan titik akhir publik wilayah China (Hangzhou). Untuk mengakses OSS dari layanan Alibaba Cloud lainnya dalam wilayah yang sama, gunakan titik akhir internal. Untuk informasi selengkapnya mengenai wilayah dan titik akhir yang didukung, lihat Regions and endpoints.
-
Topik ini menunjukkan cara membuat instans OSSClient dengan titik akhir OSS. Untuk konfigurasi alternatif, seperti penggunaan domain kustom atau autentikasi menggunakan kredensial dari Security Token Service (STS), lihat Create an OssClient.
-
Objek yang diunggah menggunakan simple upload tidak boleh melebihi 5 GB.
Permissions
Secara default, Akun Alibaba Cloud memiliki izin penuh. Pengguna RAM atau Peran RAM di bawah Akun Alibaba Cloud tidak memiliki izin apa pun secara default. Akun Alibaba Cloud atau administrator akun harus memberikan izin operasi melalui RAM policies atau Bucket Policy.
|
API |
Action |
Description |
|
PutObject |
|
Mengunggah objek. |
|
|
Diperlukan jika Anda menentukan tag objek menggunakan header |
|
|
|
Diperlukan jika header |
|
|
|
Upload string
Contoh kode berikut menunjukkan cara mengunggah string ke objek exampledir/exampleobject.txt di bucket examplebucket.
<?php
if (is_file(__DIR__ . '/../autoload.php')) {
require_once __DIR__ . '/../autoload.php';
}
if (is_file(__DIR__ . '/../vendor/autoload.php')) {
require_once __DIR__ . '/../vendor/autoload.php';
}
use OSS\Credentials\EnvironmentVariableCredentialsProvider;
use OSS\OssClient;
use OSS\Core\OssException;
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
$provider = new EnvironmentVariableCredentialsProvider();
// Tetapkan yourEndpoint ke titik akhir wilayah bucket Anda. Misalnya, jika bucket berada di wilayah China (Hangzhou), tetapkan titik akhir ke https://oss-cn-hangzhou.aliyuncs.com.
$endpoint = "yourEndpoint";
// Tetapkan nama bucket. Misalnya, examplebucket.
$bucket= "examplebucket";
// Tetapkan path lengkap objek. Path tidak boleh mencakup nama bucket. Misalnya, exampledir/exampleobject.txt.
$object = "exampledir/exampleobject.txt";
// String yang akan diunggah.
$content = "Hello OSS";
// Anda dapat menentukan header saat mengunggah string. Misalnya, atur ACL ke private atau tambahkan metadata kustom.
$options = array(
OssClient::OSS_HEADERS => array(
'x-oss-object-acl' => 'private',
'x-oss-meta-info' => 'yourinfo'
),
);
try{
$config = array(
"provider" => $provider,
"endpoint" => $endpoint,
"signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
"region"=> "cn-hangzhou"
);
$ossClient = new OssClient($config);
$ossClient->putObject($bucket, $object, $content, $options);
} catch(OssException $e) {
printf(__FUNCTION__ . ": FAILED\n");
printf($e->getMessage() . "\n");
return;
}
print(__FUNCTION__ . "OK" . "\n");
Upload file
Kode contoh berikut menunjukkan cara mengunggah file lokal bernama examplefile.txt ke direktori exampledir di bucket examplebucket. Setelah diunggah, objek tersebut akan diberi nama exampleobject.txt di direktori exampledir.
<?php
if (is_file(__DIR__ . '/../autoload.php')) {
require_once __DIR__ . '/../autoload.php';
}
if (is_file(__DIR__ . '/../vendor/autoload.php')) {
require_once __DIR__ . '/../vendor/autoload.php';
}
use OSS\Credentials\EnvironmentVariableCredentialsProvider;
use OSS\OssClient;
use OSS\Core\OssException;
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
$provider = new EnvironmentVariableCredentialsProvider();
// Tetapkan yourEndpoint ke titik akhir wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), tetapkan titik akhir ke https://oss-cn-hangzhou.aliyuncs.com.
$endpoint = "yourEndpoint";
// Tetapkan nama bucket. Misalnya, examplebucket.
$bucket= "examplebucket";
// Tetapkan path lengkap objek. Path tidak boleh mencakup nama bucket. Misalnya, exampledir/exampleobject.txt.
$object = "exampledir/exampleobject.txt";
// Tetapkan path lengkap ke file lokal. Misalnya, D:\\localpath\\examplefile.txt. Jika Anda menghilangkan path, file diunggah dari direktori root proyek.
$filePath = "D:\\localpath\\examplefile.txt";
try{
$config = array(
"provider" => $provider,
"endpoint" => $endpoint,
"signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
"region"=> "cn-hangzhou"
);
$ossClient = new OssClient($config);
$ossClient->uploadFile($bucket, $object, $filePath);
} catch(OssException $e) {
printf(__FUNCTION__ . ": FAILED\n");
printf($e->getMessage() . "\n");
return;
}
print(__FUNCTION__ . "OK" . "\n");