Topik ini menjelaskan cara menggunakan Object Storage Service (OSS) SDK untuk PHP untuk mengambil informasi tentang sebuah bucket, termasuk status pelacakan akses, wilayah, tanggal pembuatan, daftar kontrol akses (ACL), nama dan ID pemilik, kelas penyimpanan, tipe redundansi, titik akhir publik, titik akhir internal, status replikasi lintas wilayah (CRR), status versioning, serta metode enkripsi. Informasi ini membantu Anda dalam melakukan operasi selanjutnya.
Catatan penggunaan
Kode contoh dalam topik ini menggunakan ID wilayah
cn-hangzhoudari Wilayah Hangzhou, Tiongkok. 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 OSS, lihat Wilayah dan Titik Akhir.Untuk mengambil informasi tentang sebuah bucket, Anda harus memiliki izin
oss:GetBucketInfo. Untuk informasi lebih lanjut, lihat Menambahkan Kebijakan Kustom ke Pengguna RAM.
Contoh
Berikut adalah kode contoh untuk mengambil informasi tentang sebuah bucket:
<?php
require_once __DIR__ . '/../vendor/autoload.php'; // Memuat objek dan pustaka dependensi secara otomatis.
use AlibabaCloud\Oss\V2 as Oss;
// Tentukan parameter baris perintah.
$optsdesc = [
"region" => ['help' => 'Wilayah tempat bucket berada.', 'required' => True], // (Diperlukan) Tentukan wilayah tempat bucket berada. Contoh: oss-cn-hangzhou.
"endpoint" => ['help' => 'Nama domain yang dapat digunakan layanan lain untuk mengakses OSS.', 'required' => False], // (Opsional) Tentukan titik akhir yang dapat digunakan oleh layanan lain untuk mengakses OSS.
"bucket" => ['help' => 'Nama bucket', 'required' => True], // (Diperlukan) Tentukan nama bucket.
];
$longopts = \array_map(function ($key) {
return "$key:"; // Tambahkan titik dua (:) di akhir setiap parameter untuk menunjukkan bahwa nilai diperlukan.
}, array_keys($optsdesc));
// Analisis 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);
}
}
// Dapatkan nilai parameter baris perintah.
$region = $options["region"]; // Wilayah tempat bucket berada.
$bucket = $options["bucket"]; // Nama bucket.
// Gunakan variabel lingkungan untuk memuat informasi kredensial (ID AccessKey dan Rahasia AccessKey).
$credentialsProvider=new Oss\Credentials\EnvironmentVariableCredentialsProvider(); // Dapatkan informasi kredensial dari variabel lingkungan.
// Gunakan konfigurasi default dari SDK.
$cfg=Oss\Config::loadDefault(); // Muat konfigurasi default dari SDK.
$cfg->setCredentialsProvider($credentialsProvider); // Tentukan penyedia kredensial.
$cfg->setRegion($region); // Tentukan wilayah.
if (isset($options["endpoint"])) {
$cfg->setEndpoint($options["endpoint"]); // Tentukan titik akhir jika titik akhir disediakan.
}
// Buat instance OSSClient.
$client = new Oss\Client($cfg); // Buat instance OSSClient.
// Buat permintaan untuk mengambil informasi tentang bucket.
$request = new Oss\Models\GetBucketInfoRequest($bucket); // Buat permintaan untuk mengambil informasi tentang bucket.
// Gunakan metode getBucketInfo untuk mengambil informasi tentang bucket.
$result = $client->getBucketInfo($request); // Gunakan metode getBucketInfo untuk mengambil informasi tentang bucket.
// Tampilkan hasil yang dikembalikan.
printf(
'status code:' . $result-> statusCode. PHP_EOL . // Kode status respons HTTP.
'request id:' . $result-> requestId. PHP_EOL . // Pengenal unik permintaan.
'bucket info:' . var_export($result->bucketInfo, true) // Informasi rinci tentang bucket.
);
Referensi
Untuk informasi lebih lanjut tentang bucket, lihat Bucket.
Untuk kode contoh lengkap yang digunakan untuk mengambil informasi tentang bucket, kunjungi GitHub.
Untuk informasi lebih lanjut tentang operasi API yang dapat Anda panggil untuk mengambil informasi tentang bucket, lihat GetBucketInfo.