Topik ini menjelaskan cara menanyakan penggunaan penyimpanan bucket Object Storage Service (OSS) tertentu, serta jumlah dan penggunaan penyimpanan objek dari berbagai kelas penyimpanan di dalam bucket tersebut.
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.
Contoh
Berikut adalah kode contoh yang menunjukkan cara menanyakan penggunaan penyimpanan bucket:
<?php
require_once __DIR__ . '/../vendor/autoload.php'; // Otomatis memuat objek dan pustaka dependensi.
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 tanda titik dua (:) di akhir setiap parameter untuk menunjukkan bahwa nilai diperlukan.
}, array_keys($optsdesc));
// Parsing 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"; // Menyatakan 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 (AccessKey ID dan AccessKey secret).
$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 mendapatkan statistik bucket.
$request=new Oss\Models\GetBucketStatRequest($bucket); // Buat permintaan untuk mendapatkan statistik bucket.
// Gunakan metode getBucketStat untuk mendapatkan statistik bucket.
$result = $client->getBucketStat($request); // Gunakan metode getBucketStat untuk mendapatkan statistik bucket.
// Cetak hasil yang dikembalikan.
printf(
'status code:' . $result-> statusCode. PHP_EOL . // Kode status respons HTTP.
'request id:' . $result-> requestId. PHP_EOL . // Pengenal unik permintaan.
'result:' . var_export($result, true) // Hasil yang dikembalikan, yang berisi statistik bucket.
);
Referensi
Untuk kode contoh lengkap yang digunakan untuk menanyakan informasi tentang bucket, kunjungi GitHub.
Untuk informasi lebih lanjut tentang operasi API yang dapat Anda panggil untuk menanyakan informasi tentang bucket, lihat GetBucketStat.