Bucket adalah wadah yang menyimpan objek. Topik ini menjelaskan cara memperoleh informasi mengenai suatu bucket.
Catatan
Topik ini menggunakan titik akhir publik wilayah China (Hangzhou). Untuk mengakses OSS dari layanan Alibaba Cloud lainnya dalam wilayah yang sama, gunakan titik akhir internal. Untuk detail mengenai wilayah dan titik akhir yang didukung, lihat Wilayah dan titik akhir.
Pada topik ini, instans OSSClient dibuat menggunakan titik akhir OSS. Jika Anda ingin membuat instans OSSClient dengan nama domain kustom atau Security Token Service (STS), lihat Buat OssClient.
Untuk mengambil informasi tentang bucket, Anda harus memiliki izin
oss:GetBucketInfo. Untuk informasi selengkapnya, lihat Berikan izin kustom kepada RAM user.
Kode contoh
Kode berikut menunjukkan cara mengambil informasi mengenai bucket:
<?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 contoh, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah diatur.
$provider = new EnvironmentVariableCredentialsProvider();
// Titik akhir wilayah China (Hangzhou) digunakan sebagai contoh. Ganti dengan titik akhir yang sebenarnya.
$endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
// Tentukan nama bucket. Contoh: examplebucket.
$bucket= "examplebucket";
try {
$config = array(
"provider" => $provider,
"endpoint" => $endpoint,
"signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
"region"=> "cn-hangzhou"
);
$ossClient = new OssClient($config);
// Dapatkan informasi bucket, termasuk nama bucket (Name), wilayah (Location), tanggal pembuatan (CreateDate), kelas penyimpanan (StorageClass), titik akhir publik (ExtranetEndpoint), dan titik akhir internal (IntranetEndpoint).
$info = $ossClient->getBucketInfo($bucket);
printf("bucket name:%s\n", $info->getName());
printf("bucket location:%s\n", $info->getLocation());
printf("bucket creation time:%s\n", $info->getCreateDate());
printf("bucket storage class:%s\n", $info->getStorageClass());
printf("bucket extranet endpoint:%s\n", $info->getExtranetEndpoint());
printf("bucket intranet endpoint:%s\n", $info->getIntranetEndpoint());
} catch (OssException $e) {
printf(__FUNCTION__ . ": FAILED\n");
printf($e->getMessage() . "\n");
return;
}
print(__FUNCTION__ . ": OK" . "\n");
Referensi
Untuk kode contoh lengkap yang menunjukkan cara mengambil informasi bucket, lihat contoh di GitHub.
Untuk informasi selengkapnya mengenai operasi API yang digunakan untuk mengambil informasi bucket, lihat GetBucketInfo.