全部产品
Search
文档中心

Object Storage Service:Buat bucket (Java SDK V1)

更新时间:Dec 24, 2025

Bucket adalah wadah untuk menyimpan objek. Semua objek harus disimpan dalam sebuah bucket. Topik ini menjelaskan cara membuat 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 wilayah dan titik akhir yang didukung, lihat Wilayah dan titik akhir.

  • Kredensial akses pada topik ini diperoleh dari variabel lingkungan. Untuk informasi lebih lanjut tentang cara mengonfigurasi kredensial akses, lihat Konfigurasi kredensial akses.

  • Topik ini menunjukkan cara membuat instans OSSClient dengan titik akhir OSS. Untuk konfigurasi alternatif, seperti menggunakan domain kustom atau melakukan autentikasi dengan kredensial dari Layanan Token Keamanan (STS), lihat Konfigurasi klien.

  • Mulai 13 Oktober 2025 pukul 10.00 (UTC+8), OSS akan meluncurkan secara bertahap fitur pemblokiran akses publik secara default untuk semua bucket baru. Perubahan ini berlaku untuk bucket yang dibuat melalui API, SDK, dan ossutil. Untuk jadwal peluncuran spesifik di setiap wilayah, lihat Pemberitahuan. Saat fitur ini diaktifkan, Anda tidak dapat memberikan akses publik ke bucket, baik melalui ACL (seperti public-read atau public-read-write) maupun kebijakan bucket. Jika kasus penggunaan Anda memerlukan akses publik, nonaktifkan pengaturan ini setelah bucket dibuat.

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

Tindakan

Definisi

PutBucket

oss:PutBucket

Membuat bucket.

oss:PutBucketAcl

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

Kode contoh

Kode berikut menunjukkan cara membuat bucket bernama examplebucket.

import com.aliyun.oss.*;
import com.aliyun.oss.common.auth.*;
import com.aliyun.oss.common.comm.SignVersion;
import com.aliyun.oss.model.*;

public class Demo {

    public static void main(String[] args) throws Exception {
        // Tetapkan yourEndpoint ke Titik Akhir wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur Endpoint ke https://oss-cn-hangzhou.aliyuncs.com.
        String endpoint = "yourEndpoint";
        // Peroleh kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
        EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
        // Tentukan nama bucket.
        String bucketName = "examplebucket";
        // Tentukan ID kelompok sumber daya. Jika Anda tidak menentukan ID kelompok sumber daya, bucket akan ditambahkan ke kelompok sumber daya default.
        //String rsId = "rg-aek27tc****";
        // Tentukan wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur Region ke cn-hangzhou.
        String region = "cn-hangzhou";
        
        // Buat instans OSSClient.
        // Setelah instans OSSClient tidak digunakan lagi, panggil metode shutdown untuk melepaskan sumber daya.
        ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
        clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);        
        OSS ossClient = OSSClientBuilder.create()
        .endpoint(endpoint)
        .credentialsProvider(credentialsProvider)
        .clientConfiguration(clientBuilderConfiguration)
        .region(region)               
        .build();

        try {
            // Buat bucket dan aktifkan fitur namespace hirarkis.
            CreateBucketRequest createBucketRequest = new CreateBucketRequest(bucketName).withHnsStatus(HnsStatus.Enabled);
            // Jika Anda ingin menentukan kelas penyimpanan, ACL, dan jenis redundansi data saat membuat bucket, lihat kode berikut.
            // Kode berikut memberikan contoh cara mengatur kelas penyimpanan ke Standard.
            createBucketRequest.setStorageClass(StorageClass.Standard);
            // Jenis redundansi data default adalah LRS, yang ditentukan sebagai DataRedundancyType.LRS. Jika Anda ingin mengatur jenis redundansi data ke ZRS, atur nilainya ke DataRedundancyType.ZRS.
            createBucketRequest.setDataRedundancyType(DataRedundancyType.ZRS);
            // Atur ACL bucket ke public-read. ACL default adalah private.
            createBucketRequest.setCannedACL(CannedAccessControlList.PublicRead);
            // Saat Anda membuat bucket di wilayah yang mendukung kelompok sumber daya, Anda dapat menetapkan bucket ke kelompok sumber daya.
            //createBucketRequest.setResourceGroupId(rsId);


            // Buat bucket.
            ossClient.createBucket(createBucketRequest);
        } catch (OSSException oe) {
            System.out.println("Terjadi OSSException, yang berarti permintaan Anda sampai ke OSS, "
                    + "tetapi ditolak dengan tanggapan error karena suatu alasan.");
            System.out.println("Pesan Error:" + oe.getErrorMessage());
            System.out.println("Kode Error:" + oe.getErrorCode());
            System.out.println("ID Permintaan:" + oe.getRequestId());
            System.out.println("Host ID:" + oe.getHostId());
        } catch (ClientException ce) {
            System.out.println("Terjadi ClientException, yang berarti klien mengalami "
                    + "masalah internal serius saat mencoba berkomunikasi dengan OSS, "
                    + "seperti tidak dapat mengakses jaringan.");
            System.out.println("Pesan Error:" + ce.getMessage());
        } finally {
            if (ossClient != null) {
                ossClient.shutdown();
            }
        }
    }
}

Referensi

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

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