All Products
Search
Document Center

Object Storage Service:Buat bucket (PHP SDK V1)

Last Updated:Nov 30, 2025

Bucket adalah wadah penyimpanan objek. Semua objek harus disimpan dalam sebuah bucket. Topik ini menjelaskan cara membuat bucket.

Catatan penggunaan

  • 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 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 dengan nama domain kustom atau Security Token Service (STS), lihat Buat OssClient.

  • Mulai pukul 10.00 (UTC+8) pada 13 Oktober 2025, OSS akan menerapkan penyesuaian bertahap di seluruh wilayah untuk mengaktifkan fitur Block Public Access secara default untuk bucket baru yang dibuat melalui API, OSS SDK, atau ossutil. Untuk jadwal penerapan spesifik di tiap wilayah, lihat [Pengumuman Resmi] Penyesuaian Konfigurasi Pemblokiran Akses Publik untuk Bucket Baru. Setelah Block Public Access diaktifkan, Anda tidak dapat mengonfigurasi izin akses publik, termasuk ACL publik (baca-publik dan baca/tulis publik) serta kebijakan bucket yang mengizinkan akses publik. Namun, Anda dapat menonaktifkan fitur ini setelah bucket dibuat jika bisnis Anda memerlukan akses publik.

Izin

Secara default, Akun Alibaba Cloud memiliki izin penuh. Pengguna RAM atau Peran RAM di bawah Akun Alibaba Cloud tidak memiliki izin apa pun secara default. Akun Alibaba Cloud atau administrator akun harus memberikan izin operasi melalui Kebijakan RAM atau Kebijakan bucket.

API

Action

Definisi

PutBucket

oss:PutBucket

Membuat bucket.

oss:PutBucketAcl

Setelah bucket dibuat, izin ini diperlukan untuk mengubah ACL bucket.

Contoh

Kode berikut menunjukkan cara membuat bucket bernama examplebucket.

<?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 contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi. 
$provider = new EnvironmentVariableCredentialsProvider();
// Pada contoh ini, digunakan titik akhir wilayah China (Hangzhou). Tentukan titik akhir aktual Anda.
$endpoint = "http://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);
    // Atur kelas penyimpanan bucket ke Infrequent Access (IA). Kelas penyimpanan default adalah Standard.
    $options = array(
        OssClient::OSS_STORAGE => OssClient::OSS_STORAGE_IA
    );
    // Atur ACL bucket ke public-read. ACL bucket default bersifat private.
    $ossClient->createBucket($bucket, OssClient::OSS_ACL_TYPE_PUBLIC_READ, $options);
} catch (OssException $e) {
    printf(__FUNCTION__ . ": GAGAL\n");
    printf($e->getMessage() . "\n");
    return;
}
print(__FUNCTION__ . ": OK" . "\n");        

Referensi

  • Untuk contoh kode lengkap pembuatan bucket, lihat contoh di GitHub.

  • Untuk informasi lebih lanjut mengenai operasi API pembuatan bucket, lihat PutBucket.