All Products
Search
Document Center

Object Storage Service:Daftar bucket

Last Updated:Jun 21, 2026

Bucket ditampilkan dalam urutan alfabetis. Mengelola banyak bucket secara manual tidak efisien dan rentan terhadap kesalahan. Gunakan operasi ListBuckets untuk mengambil daftar semua atau sebagian bucket di bawah akun Anda secara terprogram, sehingga memungkinkan tugas otomatis seperti inventaris aset, operasi massal, dan audit izin.

Cara kerja

Parameter permintaan dan paginasi mengontrol perilaku operasi ListBuckets.

Parameter permintaan

Gunakan parameter permintaan berikut untuk memfilter dan mengontrol hasil.

Parameter

Deskripsi

prefix

Filter berdasarkan awalan: Membatasi respons hanya pada bucket yang namanya dimulai dengan awalan yang ditentukan.

marker

Token paginasi: Menentukan posisi awal untuk daftar. Respons mencakup bucket yang secara alfabetis mengikuti marker tersebut.

max-keys

Jumlah item per halaman: Menentukan jumlah maksimum bucket yang dikembalikan dalam satu respons. Nilainya harus berupa bilangan bulat antara 1 hingga 1.000. Nilai default-nya adalah 100.

Paginasi

Operasi daftar dasar secara default hanya mengembalikan satu halaman data. Jika jumlah bucket melebihi batas per halaman—yang ditentukan oleh parameter max-keys—Anda harus menggunakan paginasi untuk mengambil daftar lengkap.

Dua bidang utama dalam respons memungkinkan paginasi:

  • isTruncated (Boolean): Jika nilai ini true, berarti masih tersedia halaman data tambahan.

  • nextMarker (string): Token paginasi untuk halaman hasil berikutnya.

Logika inti untuk paginasi adalah sebagai berikut: Untuk melakukan paginasi, periksa flag isTruncated. Jika nilainya true, gunakan nilai nextMarker dari respons sebagai parameter marker untuk permintaan berikutnya. Ulangi proses ini hingga isTruncated mengembalikan false.

Beberapa SDK, seperti Python v2, Go v2, PHP v2, dan C# v2, menyediakan Paginator yang secara otomatis menangani loop ini. Untuk SDK lainnya, Anda harus mengimplementasikan logika ini sendiri.

Daftar semua bucket

Ini adalah operasi daftar paling dasar.

Konsol

  1. Login ke Konsol OSS.

  2. Di panel navigasi sebelah kiri, klik Buckets.

    Secara default, halaman Buckets menampilkan semua bucket di bawah akun Anda. Untuk dengan cepat mendapatkan jumlah bucket dan propertinya, klik ikon Ekspor ke CSV download di pojok kanan atas.

ossutil

Anda dapat menggunakan tool baris perintah ossutil untuk mendaftar bucket. Untuk informasi tentang cara menginstal ossutil, lihat Instal ossutil.

Perintah berikut mendaftar semua bucket Anda.

ossutil api list-buckets

Untuk informasi lebih lanjut tentang perintah ini, lihat list-buckets (get-service).

SDK

Bagian berikut menyediakan contoh kode untuk SDK umum. Untuk SDK lainnya, lihat Ikhtisar SDK.

Java

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

import java.util.List;

public class Demo {

    public static void main(String[] args) throws Exception {
        // Contohnya, jika bucket berada di wilayah China (Hangzhou), atur endpoint ke https://oss-cn-hangzhou.aliyuncs.com. 
        String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
        // Tentukan wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur region ke cn-hangzhou.
        String region = "cn-hangzhou";
        
        // Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi. 
        EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();

        // Buat instans OSS Client. 
        // Panggil metode shutdown untuk melepaskan sumber daya terkait saat OSS Client tidak lagi digunakan.
        ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
        clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);        
        OSS ossClient = OSSClientBuilder.create()
        .endpoint(endpoint)
        .credentialsProvider(credentialsProvider)
        .clientConfiguration(clientBuilderConfiguration)
        .region(region)               
        .build();

        try {
            // Daftar semua bucket di semua wilayah dalam Akun Alibaba Cloud saat ini. 
            List<Bucket> buckets = ossClient.listBuckets();
            for (Bucket bucket : buckets) {
                System.out.println(" - " + bucket.getName());
            }
        } catch (OSSException oe) {
            System.out.println("Terjadi OSSException, artinya 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, artinya client 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();
            }
        }
    }
}

Python

import argparse
import alibabacloud_oss_v2 as oss

# Buat parser argumen baris perintah dan jelaskan tujuan skrip: Contoh ini menunjukkan cara mendaftar semua bucket di OSS.
parser = argparse.ArgumentParser(description="contoh daftar bucket")

# Tambahkan argumen baris perintah --region, yang menentukan wilayah tempat bucket berada. Ini adalah parameter yang diperlukan.
parser.add_argument('--region', help='Wilayah tempat bucket berada.', required=True)
# Tambahkan argumen baris perintah --endpoint, yang menentukan nama domain yang dapat digunakan layanan lain untuk mengakses OSS. Ini adalah parameter opsional.
parser.add_argument('--endpoint', help='Nama domain yang dapat digunakan layanan lain untuk mengakses OSS')

def main():
    # Uraikan parameter yang diberikan di baris perintah untuk mendapatkan nilai input pengguna.
    args = parser.parse_args()

    # Muat informasi autentikasi yang diperlukan untuk mengakses OSS dari variabel lingkungan untuk verifikasi identitas.
    credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()

    # Buat objek konfigurasi menggunakan konfigurasi default SDK dan atur penyedia autentikasi.
    cfg = oss.config.load_default()
    cfg.credentials_provider = credentials_provider
    cfg.region = args.region

    # Jika titik akhir kustom disediakan, perbarui properti endpoint dalam objek konfigurasi.
    if args.endpoint is not None:
        cfg.endpoint = args.endpoint

    # Inisialisasi klien OSS menggunakan konfigurasi sebelumnya untuk mempersiapkan interaksi dengan OSS.
    client = oss.Client(cfg)

    # Buat paginator untuk operasi ListBuckets guna menangani banyak bucket.
    paginator = client.list_buckets_paginator()

    # Telusuri hasil yang dipaginasi.
    for page in paginator.iter_page(oss.ListBucketsRequest()):
        # Untuk setiap bucket di setiap halaman, cetak nama, lokasi, dan tanggal pembuatannya.
        for o in page.buckets:
            print(f'Bucket: {o.name}, Lokasi: {o.location}, Dibuat: {o.creation_date}')

# Saat skrip ini dieksekusi secara langsung, panggil fungsi main untuk memulai logika pemrosesan.
if __name__ == "__main__":
    main()  # Titik masuk skrip, dari mana alur program dimulai.

Go

package main

import (
	"context"
	"flag"
	"log"

	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"
	"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
)

// Definisikan variabel global
var (
	region string // Wilayah tempat bucket disimpan
)

// Fungsi init digunakan untuk menginisialisasi parameter baris perintah
func init() {
	flag.StringVar(&region, "region", "", "Wilayah tempat bucket berada.")
}

func main() {
	// Uraikan parameter baris perintah
	flag.Parse()

	// Periksa apakah wilayah kosong
	if len(region) == 0 {
		flag.PrintDefaults()
		log.Fatalf("parameter tidak valid, wilayah diperlukan")
	}

	// Muat konfigurasi default dan atur penyedia kredensial serta wilayah
	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

	// Buat klien OSS
	client := oss.NewClient(cfg)

	// Buat permintaan untuk mendaftar bucket
	request := &oss.ListBucketsRequest{}

	// Buat paginator
	p := client.NewListBucketsPaginator(request)

	var i int
	log.Println("Bucket:")

	// Telusuri setiap halaman dalam paginator
	for p.HasNext() {
		i++

		// Dapatkan data halaman berikutnya
		page, err := p.NextPage(context.TODO())
		if err != nil {
			log.Fatalf("gagal mendapatkan halaman %v, %v", i, err)
		}

		// Cetak informasi setiap bucket di halaman tersebut
		for _, b := range page.Buckets {
			log.Printf("Bucket: %v, StorageClass: %v, Lokasi: %v\n", oss.ToString(b.Name), oss.ToString(b.StorageClass), oss.ToString(b.Location))
		}
	}

}

PHP

<?php

require_once __DIR__ . '/../vendor/autoload.php'; // Impor file autoloader untuk memuat library dependensi.

use AlibabaCloud\Oss\V2 as Oss;

// Definisikan deskripsi argumen baris perintah.
$optsdesc = [
    "region" => ['help' => 'Wilayah tempat bucket berada.', 'required' => True], // Wilayah harus ditentukan. Contoh: oss-cn-hangzhou.
    "endpoint" => ['help' => 'Nama domain yang dapat digunakan layanan lain untuk mengakses OSS.', 'required' => False], // Parameter endpoint opsional. Endpoint yang dapat digunakan layanan lain untuk mengakses OSS.
];
$longopts = \array_map(function ($key) {
    return "$key:"; 
}, array_keys($optsdesc));

// Uraikan argumen baris perintah.
$options = getopt("", $longopts); 

// Periksa apakah semua parameter yang diperlukan telah dikonfigurasi.
foreach ($optsdesc as $key => $value) {
    if ($value['required'] === True && empty($options[$key])) {
        $help = $value['help'];
        echo "Error: argumen berikut diperlukan: --$key, $help"; // Pesan ditampilkan, menunjukkan bahwa parameter yang diperlukan hilang.
        exit(1); 
    }
}

// Ambil nilai argumen baris perintah.
$region = $options["region"]; // Wilayah tempat bucket berada.

// Muat kredensial (AccessKeyId dan AccessKeySecret) dari variabel lingkungan.
$credentialsProvider = new Oss\Credentials\EnvironmentVariableCredentialsProvider(); // Muat kredensial dari variabel lingkungan.

// Gunakan konfigurasi default SDK.
$cfg = Oss\Config::loadDefault(); // Muat konfigurasi default SDK.
$cfg->setCredentialsProvider($credentialsProvider); // Atur penyedia kredensial.
$cfg->setRegion($region); // Atur wilayah.
if (isset($options["endpoint"])) {
    $cfg->setEndpoint($options["endpoint"]); // Atur endpoint jika disediakan.
}

// Buat instans OSSClient.
$client = new Oss\Client($cfg); 

// Buat paginator untuk operasi ListBuckets.
$paginator = new Oss\Paginator\ListBucketsPaginator($client); // Buat paginator untuk mendaftar bucket.
$iter = $paginator->iterPage(new Oss\Models\ListBucketsRequest()); // Ambil iterator paginasi.


// Telusuri hasil yang dipaginasi.

foreach ($iter as $page) { // Telusuri daftar bucket di setiap halaman.
    foreach ($page->buckets ?? [] as $bucket) { // Telusuri setiap bucket di halaman saat ini.
        print ("Bucket: $bucket->name, $bucket->location\n"); // Cetak nama bucket dan wilayahnya.
    }
}

C#

using OSS = AlibabaCloud.OSS.V2; // Alias namespace SDK OSS untuk singkatnya.

var region = "cn-hangzhou"; // Wajib. Wilayah tempat bucket Anda berada.
var endpoint = null as string;  // Opsional. Ganti endpoint default (misalnya, https://oss-cn-hangzhou.aliyuncs.com).

// Muat konfigurasi SDK default, lalu atur kredensial dari variabel lingkungan.
var cfg = OSS.Configuration.LoadDefault();
cfg.CredentialsProvider = new OSS.Credentials.EnvironmentVariableCredentialsProvider();
cfg.Region = region;
if (endpoint != null)
{
    cfg.Endpoint = endpoint;
}

// Buat klien OSS.
using var client = new OSS.Client(cfg);

// Buat paginator untuk mengiterasi semua bucket di seluruh halaman.
var paginator = client.ListBucketsPaginator(new OSS.Models.ListBucketsRequest());

Console.WriteLine("Bucket:");
await foreach (var page in paginator.IterPageAsync())
{
    foreach (var bucket in page.Buckets ?? [])
    {
        // Output: nama bucket, kelas penyimpanan, dan lokasi.
        Console.WriteLine($"Bucket: {bucket.Name}, {bucket.StorageClass}, {bucket.Location}");
    }
}

Node.js

const OSS = require('ali-oss');

const client = new OSS({
  // Tentukan wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur region ke oss-cn-hangzhou. 
  region: 'yourregion',
  // Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah diatur. 
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // Tentukan nama bucket Anda.
  bucket: 'yourBucketName',
});

async function listBuckets() {
  try {
    // Daftar semua bucket di semua wilayah dalam Akun Alibaba Cloud saat ini. 
    const result = await client.listBuckets();
    console.log(result);
  } catch (err) {
    console.log(err);
  }
}

listBuckets();

Harmony

import Client, { RequestError } from '@aliyun/oss';

// Buat instans klien OSS.
const client = new Client({
  // Ganti dengan Access Key ID dari kredensial akses sementara Layanan Token Keamanan (STS).
  accessKeyId: 'yourAccessKeyId',
  // Ganti dengan Access Key Secret dari kredensial akses sementara STS.
  accessKeySecret: 'yourAccessKeySecret',
  // Ganti dengan Security Token dari kredensial akses sementara STS.
  securityToken: 'yourSecurityToken',
});

// Daftar semua bucket.
const listBuckets = async () => {
  try {
    // Panggil metode listBuckets untuk mendaftar semua bucket.
    const res = await client.listBuckets({});

    // Cetak hasilnya.
    console.log(JSON.stringify(res));
  } catch (err) {
    // Tangkap dan tangani error permintaan.
    if (err instanceof RequestError) {
      console.log('Kode error: ', err.code); // Kode error
      console.log('Pesan error: ', err.message); // Deskripsi error
      console.log('ID Permintaan: ', err.requestId); // Pengidentifikasi unik permintaan
      console.log('Kode status HTTP: ', err.status); // Kode status respons HTTP
      console.log('Kategori error: ', err.ec); // Kategori error
    } else {
      console.log('Error tidak dikenal: ', err); // Error yang bukan tipe RequestError
    }
  }
};

// Panggil fungsi untuk mendaftar semua bucket.
listBuckets();

Swift

import AlibabaCloudOSS
import Foundation

@main
struct Main {
    static func main() async {
        do {
            // Tentukan wilayah tempat bucket berada. Misalnya, atur wilayah ke cn-hangzhou untuk China (Hangzhou).
            let region = "cn-hangzhou"
            // Opsional. Tentukan nama domain untuk mengakses OSS. Misalnya, atur endpoint ke https://oss-cn-hangzhou.aliyuncs.com untuk China (Hangzhou).
            let endpoint: String? = nil

            // Muat kredensial dari variabel lingkungan. Anda harus mengatur OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET terlebih dahulu.
            let credentialsProvider = EnvironmentCredentialsProvider()

            // Konfigurasikan parameter klien OSS.
            let config = Configuration.default()
                .withRegion(region) // Atur wilayah.
                .withCredentialsProvider(credentialsProvider) // Atur kredensial.
                
            // Atur endpoint.
            if let endpoint = endpoint {
                config.withEndpoint(endpoint)
            }

            // Buat instans klien OSS.
            let client = Client(config)

            // Buat paginator untuk menelusuri bucket.
            let paginator = client.listBucketsPaginator(ListBucketsRequest())

            // Telusuri semua bucket dan cetak informasinya.
            for try await page in paginator {
                for bucket in page.buckets ?? [] {
                    print("Nama bucket: \(bucket.name ?? ""), Kelas penyimpanan: \(bucket.storageClass ?? ""), Wilayah: \(bucket.location ?? "")")
                }
            }

        } catch {
            // Tangkap dan tangani pengecualian.
            print("error:\n\(error)")
        }
    }
}

Ruby

require 'aliyun/oss'

client = Aliyun::OSS::Client.new(
  # Endpoint China (Hangzhou) digunakan sebagai contoh. Ganti dengan endpoint aktual.
  endpoint: 'https://oss-cn-hangzhou.aliyuncs.com',
  # Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah diatur.
  access_key_id: ENV['OSS_ACCESS_KEY_ID'],
  access_key_secret: ENV['OSS_ACCESS_KEY_SECRET']
)
# Daftar semua bucket di semua wilayah dalam akun Anda.
buckets = client.list_buckets
buckets.each { |b| puts b.name }

Android

Untuk kode contoh lengkap, lihat Daftar bucket (Android SDK).

// Daftar semua bucket di semua wilayah akun Anda.
ListBucketsRequest request = new ListBucketsRequest();
ossClient.asyncListBuckets(request, new OSSCompletedCallback<ListBucketsRequest, ListBucketsResult>() {
    @Override
    public void onSuccess(ListBucketsRequest request, ListBucketsResult result) {
        List<OSSBucketSummary> buckets = result.getBuckets();
        for (int i = 0; i < buckets.size(); i++) {
            Log.i("info", "nama: " + buckets.get(i).name + " "
                    + "lokasi: " + buckets.get(i).location);
        }
    }

    @Override
    public void onFailure(ListBucketsRequest request, ClientException clientException, ServiceException serviceException) {
        // Permintaan gagal.
        if (clientException != null) {
            // Terjadi pengecualian klien, seperti pengecualian jaringan.
            clientException.printStackTrace();
        }
        if (serviceException != null) {
            // Terjadi pengecualian server.
            Log.e("KodeError", serviceException.getErrorCode());
            Log.e("RequestId", serviceException.getRequestId());
            Log.e("HostId", serviceException.getHostId());
            Log.e("PesanAsli", serviceException.getRawMessage());
        }
    }
});

C++

#include <alibabacloud/oss/OssClient.h>
using namespace AlibabaCloud::OSS;

int main(void)
{
    /* Inisialisasi informasi akun OSS. */
    
    /* Atur yourEndpoint ke endpoint wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur endpoint ke https://oss-cn-hangzhou.aliyuncs.com. */
    std::string Endpoint = "yourEndpoint";
    
    /* Atur yourRegion ke wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur region ke cn-hangzhou. */
    std::string Region = "yourRegion";

    /* Inisialisasi sumber daya jaringan. */
    InitializeSdk();

    ClientConfiguration conf;
    conf.signatureVersion = SignatureVersionType::V4;
    /* Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah diatur. */
    auto credentialsProvider = std::make_shared<EnvironmentVariableCredentialsProvider>();
    OssClient client(Endpoint, credentialsProvider, conf);
    client.SetRegion(Region);

    /* Daftar semua bucket di bawah akun saat ini. */
    ListBucketsRequest request;
    auto outcome = client.ListBuckets(request);

    if (outcome.isSuccess()) {
        /* Cetak informasi bucket. */
        std::cout <<" berhasil, dan jumlah bucket adalah" << outcome.result().Buckets().size() << std::endl;
        std::cout << "Nama bucket adalah" << std::endl;
        for (auto result : outcome.result().Buckets())
        {
            std::cout << result.Name() << std::endl;
        }
    }
    else {
        /* Tangani pengecualian. */
        std::cout << "ListBuckets gagal" <<
        ",kode:" << outcome.error().Code() <<
        ",pesan:" << outcome.error().Message() <<
        ",requestId:" << outcome.error().RequestId() << std::endl;
        return -1;
    }

    /* Lepaskan sumber daya jaringan. */
    ShutdownSdk();
    return 0;
}

iOS

OSSGetServiceRequest * getService = [OSSGetServiceRequest new];
// Daftar semua bucket di semua wilayah dalam akun saat ini.    
OSSTask * getServiceTask = [client getService:getService];
[getServiceTask continueWithBlock:^id(OSSTask *task) {
    if (!task.error) {
        OSSGetServiceResult * result = task.result;
        NSLog(@"bucket: %@", result.buckets);
        NSLog(@"pemilik: %@, %@", result.ownerId, result.ownerDispName);
        [result.buckets enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
            NSDictionary * bucketInfo = obj;
            NSLog(@"NamaBucket: %@", [bucketInfo objectForKey:@"Name"]);
            NSLog(@"TanggalPembuatan: %@", [bucketInfo objectForKey:@"CreationDate"]);
            NSLog(@"Lokasi: %@", [bucketInfo objectForKey:@"Location"]);
        }];
    } else {
        NSLog(@"get service gagal, error: %@", task.error);
    }
    return nil;
}];
// Implementasikan pemblokiran sinkron untuk menunggu tugas selesai.
// [getServiceTask waitUntilFinished];

C

#include "oss_api.h"
#include "aos_http_io.h"
/* Atur yourEndpoint ke endpoint wilayah tempat bucket berada. Misalnya, atur endpoint ke https://oss-cn-hangzhou.aliyuncs.com untuk wilayah China (Hangzhou). */
const char *endpoint = "yourEndpoint";
/* Atur yourRegion ke wilayah tempat bucket berada. Misalnya, atur region ke cn-hangzhou untuk wilayah China (Hangzhou). */
const char *region = "yourRegion";
void init_options(oss_request_options_t *options)
{
    options->config = oss_config_create(options->pool);
    /* Inisialisasi tipe aos_string_t dengan string char*. */
    aos_str_set(&options->config->endpoint, endpoint);
    /* Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah diatur. */
    aos_str_set(&options->config->access_key_id, getenv("OSS_ACCESS_KEY_ID"));
    aos_str_set(&options->config->access_key_secret, getenv("OSS_ACCESS_KEY_SECRET"));
    // Konfigurasikan dua parameter berikut.
    aos_str_set(&options->config->region, region);
    options->config->signature_version = 4;
    /* Tentukan apakah akan menggunakan CNAME untuk mengakses OSS. Nilai 0 berarti CNAME tidak digunakan. */
    options->config->is_cname = 0;
    /* Atur parameter jaringan, seperti periode timeout. */
    options->ctl = aos_http_controller_create(options->pool, 0);
}
int main(int argc, char *argv[])
{
    /* Panggil metode aos_http_io_initialize di entri program untuk menginisialisasi sumber daya global seperti jaringan dan memori. */
    if (aos_http_io_initialize(NULL, 0) != AOSE_OK) {
        exit(1);
    }
    /* Kolam memori yang digunakan untuk manajemen memori. Setara dengan apr_pool_t. Kode implementasinya ada di library apr. */
    aos_pool_t *pool;
    /* Buat kolam memori. Parameter kedua adalah NULL, yang berarti kolam memori baru tidak mewarisi dari kolam memori lain. */
    aos_pool_create(&pool, NULL);
    /* Buat dan inisialisasi opsi. Parameter ini mencakup informasi konfigurasi global seperti endpoint, access_key_id, access_key_secret, is_cname, dan curl. */
    oss_request_options_t *oss_client_options;
    /* Alokasikan memori ke opsi dalam kolam memori. */
    oss_client_options = oss_request_options_create(pool);
    /* Inisialisasi opsi klien oss_client_options. */
    init_options(oss_client_options);
    /* Inisialisasi parameter. */
    aos_table_t *resp_headers = NULL; 
    aos_status_t *resp_status = NULL; 
    oss_list_buckets_params_t *params = NULL;
    oss_list_bucket_content_t *content = NULL;
    int size = 0;
    params = oss_create_list_buckets_params(pool);
    /* Daftar bucket. */
    resp_status = oss_list_bucket(oss_client_options, params, &resp_headers);
    if (aos_status_is_ok(resp_status)) {
        printf("daftar bucket berhasil\n");
    } else {
        printf("daftar bucket gagal\n");
    }
    /* Cetak bucket. */
    aos_list_for_each_entry(oss_list_bucket_content_t, content, &params->bucket_list, node) {
        printf("NamaBucket: %s\n", content->name.data);
        ++size;
    }
    /* Lepaskan kolam memori. Ini melepaskan memori yang dialokasikan ke sumber daya selama permintaan. */
    aos_pool_destroy(pool);
    /* Lepaskan sumber daya global yang sebelumnya dialokasikan. */
    aos_http_io_deinitialize();
    return 0;
}

ossbrowser

Setelah login ke ossbrowser 2.0, klik All di panel navigasi sebelah kiri untuk menampilkan semua bucket di bawah akun Anda. Untuk informasi lebih lanjut tentang cara menginstal dan login ke ossbrowser 2.0, lihat Instal ossbrowser 2.0 dan Login ke ossbrowser 2.0.

API

Operasi di atas menggunakan panggilan API. Jika aplikasi Anda memiliki persyaratan kustomisasi tertentu, Anda dapat langsung mengirim permintaan REST API. Untuk melakukannya, Anda harus menulis kode secara manual untuk menghitung signature. Untuk informasi lebih lanjut, lihat ListBuckets (GetService).

Daftar bucket dengan awalan tertentu

Atur parameter prefix untuk melakukan filter di sisi server. Ini hanya mengembalikan bucket yang namanya sesuai dengan awalan yang ditentukan.

ossutil

Daftar semua bucket yang Anda miliki dan yang memiliki awalan example.

ossutil api list-buckets --prefix example

Untuk informasi lebih lanjut, lihat list-buckets (get-service).

SDK

Java

Untuk kode contoh lengkap, lihat Daftar bucket (Java SDK V1).

// 1. Buat objek permintaan.
ListBucketsRequest listBucketsRequest = new ListBucketsRequest();
// 2. Atur parameter prefix.
listBucketsRequest.setPrefix("example");
// 3. Jalankan permintaan.
BucketList bucketList = ossClient.listBuckets(listBucketsRequest);

Python

Untuk kode contoh lengkap, lihat Daftar bucket (Python SDK V2).

# Berikan objek permintaan dengan parameter prefix ke metode iter_page Paginator.
for page in paginator.iter_page(oss.ListBucketsRequest(
    prefix='example'
)):
    # ... proses loop ...

Go

Untuk kode contoh lengkap, lihat Daftar bucket (Go SDK V2).

// 1. Buat objek permintaan dan atur field Prefix.
request := &oss.ListBucketsRequest{
    Prefix: oss.Ptr("example"), 
}
// 2. Gunakan objek permintaan untuk membuat Paginator.
p := client.NewListBucketsPaginator(request)

Node.js

Untuk kode contoh lengkap, lihat Daftar bucket (Node.js SDK).

// Tentukan prefix dalam objek parameter metode listBuckets.
const result = await client.listBuckets({
  prefix: 'example' 
});

Harmony

Untuk kode contoh lengkap, lihat Daftar bucket (Harmony SDK).

// Kode utama: Berikan objek yang berisi prefix saat memanggil listBuckets.
const res = await client.listBuckets({
  prefix: 'bucketNamePrefix'
});

Ruby

Untuk kode contoh lengkap, lihat Daftar bucket (Ruby SDK).

# Kode utama: Panggil list_buckets dengan :prefix sebagai parameter.
buckets = client.list_buckets(:prefix => 'example')

Daftar bucket setelah posisi tertentu

Atur parameter marker untuk menentukan titik awal daftar. Ini adalah langkah inti untuk mengimplementasikan paginasi manual.

ossutil

Daftar semua bucket yang Anda miliki dan yang berada setelah examplebucket.

ossutil api list-buckets --marker examplebucket

Untuk informasi lebih lanjut, lihat list-buckets (get-service).

SDK

Java

Untuk kode contoh lengkap, lihat Daftar bucket (Java SDK V1).

// 1. Atur marker ke "examplebucket" untuk mendaftar bucket yang berada setelah "examplebucket".
String nextMarker = "examplebucket"; 
BucketList bucketListing;
do {
    // 2. Kirim permintaan dengan marker saat ini.
    bucketListing = ossClient.listBuckets(new ListBucketsRequest()
            .withMarker(nextMarker)
            .withMaxKeys(200));
    // 3. Perbarui marker untuk mendapatkan halaman berikutnya.
    nextMarker = bucketListing.getNextMarker(); 
} while (bucketListing.isTruncated());

Python

Untuk kode contoh lengkap, lihat Daftar bucket (Python SDK V2).

# Atur marker ke "example-bucket" untuk mendaftar bucket yang berada setelah "example-bucket".
for page in paginator.iter_page(oss.ListBucketsRequest(
    marker="example-bucket"
)):
    # ... iterasi melalui halaman ...

Go

Untuk kode contoh lengkap, lihat Daftar bucket (Go SDK V2).

// Atur marker ke "example-bucket" untuk mendaftar bucket yang berada setelah "example-bucket".
request := &oss.ListBucketsRequest{
    Marker: oss.Ptr("example-bucket"), 
}
// Gunakan permintaan untuk membuat Paginator.
p := client.NewListBucketsPaginator(request)

Harmony

Untuk kode contoh lengkap, lihat Daftar bucket (Harmony SDK).

// Atur nilai awal marker ke "examplebucket" untuk menentukan titik awal daftar.
let marker: string | undefined = "examplebucket"; 
let isTruncated = true;
while (isTruncated) {
  // Gunakan marker saat ini dalam permintaan.
  const res = await client.listBuckets({
    marker 
  });
  // ...
  // Perbarui marker untuk loop berikutnya.
  marker = res.data.nextMarker; 
  isTruncated = res.data.isTruncated;
}

Node.js

Untuk kode contoh lengkap, lihat Daftar bucket (Node.js SDK).

// Atur marker ke 'examplebucket' untuk mendaftar bucket yang berada setelah 'examplebucket'.
const result = await client.listBuckets({
  marker: 'examplebucket' 
});

Android

Untuk kode contoh lengkap, lihat Daftar bucket (Android SDK).

#### **iOS (Objective-C)**
ListBucketsRequest request = new ListBucketsRequest(); // Atur marker ke "examplebucket" untuk mendaftar bucket yang berada setelah "examplebucket". request.setMarker("examplebucket"); ossClient.asyncListBuckets(request, ...);<code code-type="xCode" data-tag="codeblock">#### **iOS (Objective-C)**

iOS

Untuk kode contoh lengkap, lihat Daftar bucket (iOS SDK).

OSSGetServiceRequest *getService = [OSSGetServiceRequest new];  
// Atur marker ke "examplebucket" untuk mendaftar bucket yang berada setelah "examplebucket".  
getService.marker = @"examplebucket";  
// Gunakan objek permintaan ini untuk memulai tugas asinkron.  
OSSTask *getServiceTask = [client getService:getService];

Daftar bucket dalam kelompok sumber daya tertentu

Daftar bucket dalam kelompok sumber daya tertentu.

ossutil

Daftar semua bucket yang Anda miliki dan yang berada dalam kelompok sumber daya dengan ID rg-123.

ossutil api list-buckets --resource-group-id rg-123

Untuk informasi lebih lanjut, lihat list-buckets (get-service).

SDK

Java

Untuk kode contoh lengkap, lihat Daftar bucket (Java SDK V1).

ListBucketsRequest listBucketsRequest = new ListBucketsRequest();
// Kode utama: Atur ID kelompok sumber daya sebagai filter.
listBucketsRequest.setResourceGroupId("rg-aek27tc****");
// Berikan objek permintaan yang telah dikonfigurasi ke metode listBuckets.
BucketList bucketList = ossClient.listBuckets(listBucketsRequest);

Python

Untuk kode contoh lengkap, lihat Daftar bucket (Python SDK V2).

# Kode utama: Buat permintaan dalam metode iter_page dan tentukan resource_group_id.
for page in paginator.iter_page(oss.ListBucketsRequest(
    resource_group_id="rg-aek27tc********"
)):
    # ... iterasi melalui halaman ...

Go

Untuk kode contoh lengkap, lihat Daftar bucket (Go SDK V2).

// Kode utama: Buat permintaan dan atur field ResourceGroupId.
request := &oss.ListBucketsRequest{
    ResourceGroupId: oss.Ptr("rg-aek27tc********"), 
}
// Gunakan permintaan ini untuk membuat Paginator.
p := client.NewListBucketsPaginator(request)

PHP

Untuk kode contoh lengkap, lihat Daftar bucket (PHP SDK V2).

// Kode utama: Buat permintaan dalam metode iterPage dan tentukan resourceGroupId.
$iter = $paginator->iterPage(new Oss\Models\ListBucketsRequest(
    resourceGroupId: "rg-aekzfalvmw2sxby"
));

Kontrol jumlah item per permintaan

Atur parameter max-keys untuk membatasi jumlah bucket yang dikembalikan per permintaan, yang menentukan ukuran halaman.

ossutil

Batasi jumlah bucket yang dikembalikan dalam panggilan ini maksimal 100.

ossutil api list-buckets --max-keys 100

Untuk informasi lebih lanjut, lihat list-buckets (get-service).

SDK

Java

Untuk kode contoh lengkap, lihat Daftar bucket (Java SDK V1).

ListBucketsRequest listBucketsRequest = new ListBucketsRequest();
// Kode utama: Atur parameter maxKeys ke 500 untuk membatasi jumlah bucket yang dikembalikan dalam panggilan ini hingga maksimal 500.
listBucketsRequest.setMaxKeys(500);
// Berikan objek permintaan yang telah dikonfigurasi ke metode.
BucketList bucketList = ossClient.listBuckets(listBucketsRequest);

Python

Untuk kode contoh lengkap, lihat Daftar bucket (Python SDK V2).

# Kode utama: Berikan parameter max_keys dengan nilai 10 saat membuat ListBucketsRequest.
# Hal ini menyebabkan Paginator mengambil maksimal 10 bucket per permintaan.
for page in paginator.iter_page(oss.ListBucketsRequest(
    max_keys=10
)):
    # ... iterasi melalui halaman ...

Go

Untuk kode contoh lengkap, lihat Daftar bucket (Go SDK V2).

// Kode utama: Atur field MaxKeys ke 5 saat membuat ListBucketsRequest.
// Paginator menggunakan pengaturan ini untuk mengambil maksimal 5 bucket per permintaan.
request := &oss.ListBucketsRequest{
    MaxKeys: 5,
}
p := client.NewListBucketsPaginator(request)

Node.js

Untuk kode contoh lengkap, lihat Daftar bucket (Node.js SDK).

// Kode utama: Berikan objek yang berisi properti 'max-keys' saat memanggil listBuckets.  
// Atur 'max-keys' ke 500 untuk membatasi jumlah bucket yang dikembalikan dalam panggilan ini maksimal 500.
const result = await client.listBuckets({
  'max-keys': 500
});

Android

Untuk kode contoh lengkap, lihat Daftar bucket (Android SDK).

ListBucketsRequest request = new ListBucketsRequest();
// Kode utama: Atur parameter maxKeys ke 500 untuk membatasi jumlah bucket yang dikembalikan dalam permintaan asinkron ini hingga maksimal 500.
request.setMaxKeys(500);
ossClient.asyncListBuckets(request, ...);

iOS

Untuk kode contoh lengkap, lihat Daftar bucket (iOS SDK).

OSSGetServiceRequest *getService = [OSSGetServiceRequest new];
// Kode utama: Atur properti maxKeys dari objek permintaan getService ke 500.
getService.maxKeys = 500;
OSSTask *getServiceTask = [client getService:getService];

Batasan

Anda tidak dapat menggunakan endpoint Transfer Acceleration untuk mendaftar bucket. Layanan Transfer Acceleration hanya menyelesaikan nama domain tingkat tiga yang mencakup nama bucket (misalnya, https://BucketName.oss-accelerate.aliyuncs.com), sedangkan operasi daftar bucket menggunakan endpoint root yang tidak mengandung nama bucket (misalnya, https://oss-cn-hangzhou.aliyuncs.com).