Bucket adalah wadah yang digunakan untuk menyimpan objek. Topik ini menjelaskan cara membuat bucket menggunakan Object Storage Service (OSS) SDK untuk PHP.
Catatan
Kode contoh dalam topik ini menggunakan ID wilayah
cn-hangzhoudari Wilayah China (Hangzhou). Secara default, titik akhir publik digunakan untuk mengakses sumber daya di bucket. Jika Anda ingin mengakses sumber daya di bucket dengan menggunakan layanan Alibaba Cloud lainnya di wilayah yang sama dengan bucket tersebut, gunakan titik akhir internal. Untuk informasi lebih lanjut tentang wilayah dan titik akhir yang didukung, lihat Wilayah dan Titik Akhir OSS.Izin
oss:PutBucketdiperlukan untuk pembuatan bucket. Untuk detailnya, lihat Lampirkan Kebijakan Kustom ke Pengguna RAM.Mulai pukul 10:00 (UTC+8) pada 13 Oktober 2025, OSS akan melaksanakan penyesuaian bertahap di semua wilayah untuk mengaktifkan Blokir Akses Publik secara default untuk bucket baru yang dibuat menggunakan API, OSS SDK, atau ossutil. Untuk detail tentang waktu pasti ketika penyesuaian akan berlaku di setiap wilayah, lihat [Pengumuman Resmi] Penyesuaian Konfigurasi Pemblokiran Akses Publik untuk Bucket Baru. Setelah Blokir Akses Publik diaktifkan, Anda tidak dapat mengonfigurasi izin akses publik, termasuk ACL publik (publik baca dan publik baca/tulis) dan kebijakan bucket yang mengizinkan akses publik. Anda dapat menonaktifkan fitur ini setelah bucket dibuat jika bisnis Anda memerlukan akses publik.
Kode contoh
Berikut adalah kode contoh untuk membuat bucket.
<?php
// Memuat otomatis objek dan pustaka dependensi.
require_once __DIR__ . '/../vendor/autoload.php';
use AlibabaCloud\Oss\V2 as Oss;
// Tentukan parameter baris perintah.
$optsdesc = [
"region" => ['help' => 'Wilayah tempat bucket berada.', 'required' => True], // Parameter wilayah diperlukan. Contoh: oss-cn-hangzhou.
"endpoint" => ['help' => 'Nama domain yang dapat digunakan layanan lain untuk mengakses OSS.', 'required' => False], // Parameter titik akhir opsional.
"bucket" => ['help' => 'Nama bucket', 'required' => True], // Nama bucket diperlukan.
];
// Hasilkan daftar opsi panjang untuk penguraian parameter baris perintah.
$longopts = \array_map(function ($key) {
return "$key:"; // Tanda titik dua (:) setelah setiap parameter menunjukkan bahwa parameter tersebut diperlukan.
}, array_keys($optsdesc));
// Uraikan parameter baris perintah.
$options = getopt("", $longopts);
// Periksa apakah parameter yang diperlukan telah dikonfigurasi.
foreach ($optsdesc as $key => $value) {
if ($value['required'] === True && empty($options[$key])) {
$help = $value['help'];
echo "Error: argumen berikut diperlukan: --$key, $help"; // Menentukan bahwa parameter yang diperlukan belum dikonfigurasi.
exit(1);
}
}
// Ambil nilai parameter baris perintah.
$region = $options["region"]; // Wilayah tempat bucket berada.
$bucket = $options["bucket"]; // Nama bucket.
// Muat informasi kredensial (AccessKeyId dan AccessKeySecret) dari variabel lingkungan.
$credentialsProvider = new Oss\Credentials\EnvironmentVariableCredentialsProvider();
// Gunakan konfigurasi default dari SDK.
$cfg = Oss\Config::loadDefault();
$cfg->setCredentialsProvider($credentialsProvider); // Tentukan penyedia kredensial.
$cfg->setRegion($region); // Tentukan wilayah.
if (isset($options["endpoint"])) {
$cfg->setEndpoint($options["endpoint"]); // Tentukan titik akhir jika disediakan.
}
// Buat instance OSSClient.
$client = new Oss\Client($cfg);
// Buat permintaan untuk memulai pembuatan bucket.
$request = new Oss\Models\PutBucketRequest($bucket);
// Panggil metode putBucket.
$result = $client->putBucket($request);
// Keluarkan hasilnya.
printf(
'kode status:' . $result->statusCode . PHP_EOL . // Kode status HTTP.
'ID permintaan:' . $result->requestId // ID unik permintaan.
);
Referensi
Untuk kode contoh lengkap untuk membuat bucket, kunjungi Contoh GitHub.
Untuk informasi lebih lanjut tentang operasi API yang dapat Anda panggil untuk membuat bucket, lihat PutBucket.