All Products
Search
Document Center

Object Storage Service:Daftar bucket (PHP SDK V1)

Last Updated:Nov 30, 2025

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