Bucket adalah kontainer yang digunakan untuk menyimpan objek. Semua objek harus disimpan dalam sebuah bucket. Bucket ditampilkan dalam urutan alfabetis. Anda dapat menampilkan daftar bucket yang dimiliki oleh Akun Alibaba Cloud Anda di seluruh wilayah dan memfilternya berdasarkan kondisi tertentu.
Catatan
Pada topik ini, titik akhir publik wilayah China (Hangzhou) digunakan. 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 Wilayah dan titik akhir.
Pada topik ini, instans OSSClient dibuat menggunakan titik akhir OSS. Jika Anda ingin membuat instans OSSClient menggunakan nama domain kustom atau Security Token Service (STS), lihat Buat OssClient.
Untuk menampilkan daftar bucket, Anda harus memiliki izin
oss:ListBuckets. Untuk informasi selengkapnya, lihat Berikan kebijakan akses kustom kepada RAM user.
Daftar semua bucket
Kode berikut memberikan contoh cara menampilkan daftar semua bucket di seluruh wilayah dalam Akun Alibaba Cloud saat ini.
<?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\CoreOssException;
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah diatur.
$provider = new EnvironmentVariableCredentialsProvider();
// Contoh ini menggunakan Endpoint untuk wilayah China (Hangzhou). Ganti Endpoint dengan yang sesuai wilayah Anda.
$endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
try{
$config = array(
"provider" => $provider,
"endpoint" => $endpoint,
"signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
"region"=> "cn-hangzhou"
);
$ossClient = new OssClient($config);
// Daftar semua bucket di semua wilayah dalam akun saat ini.
$bucketListInfo = $ossClient->listBuckets();
} catch(OssException $e) {
printf(__FUNCTION__ . ": FAILED\n");
printf($e->getMessage() . "\n");
return;
}
$bucketList = $bucketListInfo->getBucketList();
foreach($bucketList as $bucket) {
print($bucket->getLocation() . "\t" . $bucket->getName() . "\t" . $bucket->getCreatedate() . "\n");
} Daftar bucket dengan awalan tertentu
Kode berikut memberikan contoh cara menampilkan daftar bucket yang memiliki awalan "example" di seluruh wilayah dalam Akun Alibaba Cloud saat ini.
<?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\CoreOssException;
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah diatur.
$provider = new EnvironmentVariableCredentialsProvider();
// Contoh ini menggunakan Endpoint untuk wilayah China (Hangzhou). Ganti Endpoint dengan yang sesuai wilayah Anda.
$endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
$config = array(
"provider" => $provider,
"endpoint" => $endpoint,
"signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
"region"=> "cn-hangzhou"
);
$ossClient = new OssClient($config);
// Tentukan awalan.
$prefix = "example";
try{
$options = array(OssClient::OSS_QUERY_STRING => array(OssClient::OSS_PREFIX => $prefix));
// Daftar bucket yang memiliki awalan tertentu di semua wilayah dalam akun saat ini.
$bucketListInfo = $ossClient->listBuckets($options);
} catch(OssException $e) {
printf(__FUNCTION__ . ": FAILED\n");
printf($e->getMessage() . "\n");
return;
}
$bucketList = $bucketListInfo->getBucketList();
foreach($bucketList as $bucket) {
print($bucket->getLocation() . "\t" . $bucket->getName() . "\t" . $bucket->getCreatedate() . "\n");
}Daftar bucket setelah penanda tertentu
Kode berikut memberikan contoh cara menampilkan daftar bucket yang namanya secara alfabetis berada setelah "examplebucket" di seluruh wilayah dalam Akun Alibaba Cloud saat ini.
<?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\CoreOssException;
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah diatur.
$provider = new EnvironmentVariableCredentialsProvider();
// Contoh ini menggunakan Endpoint untuk wilayah China (Hangzhou). Ganti Endpoint dengan yang sesuai wilayah Anda.
$endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
$config = array(
"provider" => $provider,
"endpoint" => $endpoint,
"signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
"region"=> "cn-hangzhou"
);
$ossClient = new OssClient($config);
// Tentukan penanda.
$marker = "examplebucket";
// Daftar bucket yang secara alfabetis berada setelah examplebucket di semua wilayah dalam akun saat ini.
try{
$options = array(OssClient::OSS_QUERY_STRING => array(OssClient::OSS_MARKER => $marker));
$bucketListInfo = $ossClient->listBuckets($options);
} catch(OssException $e) {
printf(__FUNCTION__ . ": FAILED\n");
printf($e->getMessage() . "\n");
return;
}
$bucketList = $bucketListInfo->getBucketList();
foreach($bucketList as $bucket) {
print($bucket->getLocation() . "\t" . $bucket->getName() . "\t" . $bucket->getCreatedate() . "\n");
}Daftar jumlah bucket tertentu
Kode berikut memberikan contoh cara menampilkan daftar bucket di seluruh wilayah dalam Akun Alibaba Cloud saat ini dan membatasi jumlah bucket yang dikembalikan hingga maksimal 500.
<?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\CoreOssException;
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah diatur.
$provider = new EnvironmentVariableCredentialsProvider();
// Contoh ini menggunakan Endpoint untuk wilayah China (Hangzhou). Ganti Endpoint dengan yang sesuai wilayah Anda.
$endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
$config = array(
"provider" => $provider,
"endpoint" => $endpoint,
"signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
"region"=> "cn-hangzhou"
);
$ossClient = new OssClient($config);
// MAX_KEYS menentukan jumlah maksimum bucket yang dikembalikan. Nilai MAX_KEYS tidak boleh lebih dari 1.000. Jika Anda tidak menentukan MAX_KEYS, secara default maksimal 100 bucket akan dikembalikan.
// Daftar 500 bucket.
try{
$options = array(OssClient::OSS_QUERY_STRING => array(OssClient::OSS_MAX_KEYS => 500));
$bucketListInfo = $ossClient->listBuckets($options);
} catch(OssException $e) {
printf(__FUNCTION__ . ": FAILED\n");
printf($e->getMessage() . "\n");
return;
}
$bucketList = $bucketListInfo->getBucketList();
foreach($bucketList as $bucket) {
print($bucket->getLocation() . "\t" . $bucket->getName() . "\t" . $bucket->getCreatedate() . "\n");
}Referensi
Untuk kode contoh lengkap tentang penampilan daftar bucket, lihat contoh di GitHub.
Untuk informasi selengkapnya mengenai operasi API untuk menampilkan daftar bucket, lihat ListBuckets (GetService).