全部产品
Search
文档中心

Object Storage Service:Daftar bucket

更新时间:Oct 22, 2025

Bucket tercantum dalam urutan abjad. Mengelola banyak bucket secara manual tidak efisien dan rentan terhadap kesalahan. Anda dapat menggunakan fitur ListBuckets untuk mengambil daftar semua atau sebagian bucket Anda secara terprogram. Hal ini membantu mengotomatiskan tugas seperti inventaris aset, operasi batch, dan audit izin.

Cara kerjanya

Perilaku operasi daftar ditentukan oleh parameter permintaan dan mekanisme paginasi.

Parameter permintaan

Anda dapat menyetel parameter berikut dalam permintaan untuk memfilter dan mengontrol hasilnya:

Parameter

Deskripsi

prefix

Filter awalan: Membatasi bucket yang dikembalikan ke bucket yang namanya dimulai dengan string ini.

marker

Token paginasi: Menentukan posisi awal dari daftar. Hasil dimulai dari bucket pertama setelah token ini dalam urutan abjad.

max-keys

Jumlah item per halaman: Menentukan jumlah maksimum bucket yang akan dikembalikan dalam satu permintaan. Nilainya harus antara 1 dan 1.000. Nilai default adalah 100.

Mekanisme paginasi

Secara default, operasi daftar dasar hanya mengembalikan satu halaman data. Jika jumlah bucket melebihi batas maksimum untuk satu halaman, yang ditentukan oleh parameter max-keys, Anda harus menggunakan paginasi untuk mengambil daftar lengkap.

Paginasi bergantung pada dua bidang utama yang dikembalikan server dalam respons:

  • isTruncated (Nilai Boolean): Jika true, lebih banyak halaman data tersedia.

  • nextMarker (string): Token awal untuk halaman data berikutnya.

Logika inti paginasi adalah sebagai berikut: Periksa flag isTruncated. Jika nilainya true, gunakan nextMarker yang dikembalikan sebagai parameter marker untuk permintaan berikutnya. Ulangi proses ini hingga isTruncated mengembalikan false.

Beberapa kit pengembangan perangkat lunak (SDK), seperti Python v2, Go v2, PHP v2, dan C# V2, menyediakan Paginator untuk menangani loop ini secara otomatis. Untuk SDK lainnya, Anda perlu mengimplementasikannya sendiri.

Daftar semua bucket

Ini adalah operasi daftar paling dasar.

Konsol

  1. Masuk ke Konsol OSS.

  2. Di panel navigasi di sebelah kiri, klik Buckets.

    Halaman Buckets menampilkan semua bucket yang dimiliki akun Anda secara default. Untuk dengan cepat mengambil jumlah bucket dan propertinya, klik ikon Ekspor CSV download di pojok kanan atas.

ossutil

Anda dapat menggunakan ossutil, sebuah antarmuka baris perintah, untuk mendaftarkan bucket. Untuk informasi tentang cara menginstal ossutil, lihat Instal ossutil.

Perintah berikut mencantumkan semua bucket yang dimiliki oleh pemohon.

ossutil api list-buckets

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

SDK

Berikut ini adalah contoh kode untuk mendaftarkan bucket menggunakan SDK umum. Untuk contoh kode yang menggunakan 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 {
        // Sebagai contoh, 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. Sebagai contoh, jika bucket berada di wilayah China (Hangzhou), atur wilayah ke cn-hangzhou.
        String region = "cn-hangzhou";
        
        // Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode sampel, pastikan bahwa variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi. 
        EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();

        // Buat instance Client OSS. 
        // Panggil metode shutdown untuk melepaskan sumber daya terkait ketika Client OSS 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("Tangkap OSSException, yang berarti permintaan Anda berhasil mencapai OSS, "
                    + "tetapi ditolak dengan respons kesalahan karena alasan tertentu.");
            System.out.println("Pesan Kesalahan:" + oe.getErrorMessage());
            System.out.println("Kode Kesalahan:" + oe.getErrorCode());
            System.out.println("ID Permintaan:" + oe.getRequestId());
            System.out.println("ID Host:" + oe.getHostId());
        } catch (ClientException ce) {
            System.out.println("Tangkap ClientException, yang berarti klien mengalami "
                    + "masalah internal serius saat mencoba berkomunikasi dengan OSS, "
                    + "seperti tidak dapat mengakses jaringan.");
            System.out.println("Pesan Kesalahan:" + 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 mendemonstrasikan cara mendaftarkan 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():
    # Parsing parameter yang disediakan 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 endpoint kustom disediakan, perbarui properti endpoint dalam objek konfigurasi.
    if args.endpoint is not None:
        cfg.endpoint = args.endpoint

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

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

    # Lintasi 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 dijalankan langsung, panggil fungsi utama untuk memulai logika pemrosesan.
if __name__ == "__main__":
    main()  # Titik masuk skrip, dari mana aliran 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"
)

// Tentukan 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() {
	// Parsing 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 dan wilayah
	cfg := oss.LoadDefaultConfig().
		WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
		WithRegion(region)

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

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

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

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

	// Lintasi 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, Kelas Penyimpanan: %v, Lokasi: %v\n", oss.ToString(b.Name), oss.ToString(b.StorageClass), oss.ToString(b.Location))
		}
	}

}

C#

using OSS = AlibabaCloud.OSS.V2; // Buat alias untuk SDK Alibaba Cloud OSS untuk menyederhanakan penggunaan selanjutnya.

var region = "cn-hangzhou"; // Diperlukan. Tentukan wilayah tempat bucket berada. Dalam contoh ini, wilayah China (Hangzhou) digunakan. Atur wilayah ke cn-hangzhou.
var endpoint = null as string;  // Opsional. Tentukan nama domain yang digunakan untuk mengakses layanan OSS. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur endpoint ke https://oss-cn-hangzhou.aliyuncs.com.

// Muat konfigurasi default SDK OSS. Konfigurasi ini secara otomatis membaca informasi kredensial (seperti AccessKey) dari variabel lingkungan.
var cfg = OSS.Configuration.LoadDefault();
// Secara eksplisit atur penggunaan variabel lingkungan untuk mendapatkan kredensial untuk verifikasi identitas (format: OSS_ACCESS_KEY_ID, OSS_ACCESS_KEY_SECRET).
cfg.CredentialsProvider = new OSS.Credentials.EnvironmentVariableCredentialsProvider();
// Atur wilayah bucket dalam konfigurasi.
cfg.Region = region;
// Jika endpoint ditentukan, itu akan menimpa endpoint default.
if(endpoint != null)
{
    cfg.Endpoint = endpoint;
}

// Buat instance klien OSS menggunakan informasi konfigurasi.
using var client = new OSS.Client(cfg);

// Buat paginator untuk operasi ListBuckets untuk memproses hasil yang dipaginasi.
// ListBucketsRequest adalah model permintaan yang didefinisikan oleh SDK. Dalam contoh ini, konstruktor default digunakan untuk mendapatkan semua bucket. 
var paginator = client.ListBucketsPaginator(new OSS.Models.ListBucketsRequest());

Console.WriteLine("Bucket:");
await foreach (var page in paginator.IterPageAsync())
{
// Lintasi setiap bucket di halaman saat ini.
    foreach (var bucket in page.Buckets ?? [])
    {
    // Cetak informasi bucket: nama, 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 wilayah ke oss-cn-hangzhou. 
  region: 'yourregion',
  // Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode sampel, pastikan bahwa Anda telah mengonfigurasi variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET. 
  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 instance klien OSS
const client = new Client({
  // Ganti dengan ID Kunci Akses dari kredensial akses sementara STS
  accessKeyId: 'yourAccessKeyId',
  // Ganti dengan Rahasia Kunci Akses dari kredensial akses sementara STS
  accessKeySecret: 'yourAccessKeySecret',
  // Ganti dengan Token Keamanan dari kredensial akses sementara STS
  securityToken: 'yourSecurityToken',
});

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

    // Cetak hasil yang dikembalikan
    console.log(JSON.stringify(res));
  } catch (err) {
    // Tangkap dan tangani kesalahan permintaan
    if (err instanceof RequestError) {
      console.log('Kode kesalahan: ', err.code); // Kode kesalahan
      console.log('Pesan kesalahan: ', err.message); // Deskripsi kesalahan
      console.log('ID Permintaan: ', err.requestId); // Pengenal unik permintaan
      console.log('Kode status HTTP: ', err.status); // Kode status respons HTTP
      console.log('Kategori kesalahan: ', err.ec); // Kategori kesalahan
    } else {
      console.log('Kesalahan tidak dikenal: ', err); // Kesalahan jenis non-RequestError
    }
  }
};

// Panggil fungsi untuk mendaftarkan semua bucket
listBuckets();

Ruby

require 'aliyun/oss'

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

Android

Untuk kode sampel lengkap, lihat Daftar bucket.

// Daftar semua bucket yang dimiliki oleh Akun Alibaba Cloud saat ini di semua wilayah. 
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) {
        // Tangani pengecualian permintaan. 
        if (clientException != null) {
            // Tangani pengecualian sisi klien, seperti kesalahan jaringan. 
            clientException.printStackTrace();
        }
        if (serviceException != null) {
            // Tangani pengecualian sisi server. 
            Log.e("KodeKesalahan", serviceException.getErrorCode());
            Log.e("IDPermintaan", serviceException.getRequestId());
            Log.e("IDHost", serviceException.getHostId());
            Log.e("PesanMentah", serviceException.getRawMessage());
        }
    }
});

C++

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

int main(void)
{
    /* Inisialisasi informasi tentang akun yang digunakan untuk mengakses OSS. */
    
    /* Tentukan 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";
    
    /* Tentukan wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur wilayah ke cn-hangzhou. */
    std::string Region = "yourRegion";

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

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

    /* Daftar semua bucket yang dimiliki oleh Akun Alibaba Cloud saat ini. */
    ListBucketsRequest request;
    auto outcome = client.ListBuckets(request);

    if (outcome.isSuccess()) {
        /* Tampilkan informasi tentang bucket. */
        std::cout <<" sukses, 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() <<
        ",IDPermintaan:" << outcome.error().RequestId() << std::endl;
        return -1;
    }

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

iOS

OSSGetServiceRequest * getService = [OSSGetServiceRequest new];
// Daftar semua bucket di semua wilayah dalam Akun Alibaba Cloud 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(@"layanan gagal, kesalahan: %@", task.error);
    }
    return nil;
}];
// Implementasikan blokir sinkron untuk menunggu tugas selesai. 
// [getServiceTask waitUntilFinished];

C

#include "oss_api.h"
#include "aos_http_io.h"
/* Tentukan endpoint wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur endpoint ke https://oss-cn-hangzhou.aliyuncs.com. */
const char *endpoint = "yourEndpoint";
/* Tentukan wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur wilayah ke cn-hangzhou. */
const char *region = "yourRegion";
void init_options(oss_request_options_t *options)
{
    options->config = oss_config_create(options->pool);
    /* Gunakan string char* untuk menginisialisasi data bertipe aos_string_t. */
    aos_str_set(&options->config->endpoint, endpoint);
    /* Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode sampel, pastikan bahwa variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi. */
    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"));
    // Tentukan dua parameter tambahan.
    aos_str_set(&options->config->region, region);
    options->config->signature_version = 4;
    /* Tentukan apakah menggunakan CNAME untuk mengakses OSS. Nilai 0 menunjukkan bahwa CNAME tidak digunakan. */
    options->config->is_cname = 0;
    /* Konfigurasikan 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 main() untuk menginisialisasi sumber daya global, seperti sumber daya jaringan dan memori. */
    if (aos_http_io_initialize(NULL, 0) != AOSE_OK) {
        exit(1);
    }
    /* Buat kumpulan memori untuk mengelola memori. aos_pool_t setara dengan apr_pool_t. Kode yang digunakan untuk membuat kumpulan memori disertakan dalam pustaka APR. */
    aos_pool_t *pool;
    /* Buat kumpulan memori. Nilai parameter kedua adalah NULL. Nilai ini menunjukkan bahwa kumpulan tidak mewarisi kumpulan memori lainnya. */
    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 sumber daya memori di kumpulan memori ke opsi. */
    oss_client_options = oss_request_options_create(pool);
    /* Inisialisasi 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");
    }
    /* Tampilkan 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 kumpulan memori. Operasi ini melepaskan sumber daya memori yang dialokasikan untuk permintaan. */
    aos_pool_destroy(pool);
    /* Lepaskan sumber daya global yang dialokasikan. */
    aos_http_io_deinitialize();
    return 0;
}

ossbrowser

Setelah masuk ke ossbrowser 2.0, klik tombol All di sebelah kiri untuk menampilkan semua bucket yang termasuk dalam akun Anda. Untuk informasi tentang cara menginstal dan masuk ke ossbrowser 2.0, lihat Install ossbrowser 2.0 dan Log on to ossbrowser 2.0.

image

API

Operasi-operasi sebelumnya didasarkan pada panggilan API. Jika program Anda memerlukan tingkat penyesuaian yang tinggi, Anda dapat langsung mengirimkan permintaan REST API. Untuk melakukannya, Anda harus menulis kode secara manual untuk menghitung tanda tangan. Untuk informasi lebih lanjut, lihat ListBuckets (GetService).

Daftar bucket dengan awalan tertentu

Anda dapat mengatur parameter awalan untuk memfilter hasil di sisi server. Ini hanya mengembalikan bucket yang namanya sesuai dengan awalan yang ditentukan.

ossutil

Daftarkan semua bucket yang dimiliki oleh peminta yang memiliki awalan contoh.

ossutil api list-buckets --prefix contoh

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

SDK

Java

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

// 1. Buat objek permintaan.
ListBucketsRequest listBucketsRequest = new ListBucketsRequest();

// 2. Atur parameter awalan.
listBucketsRequest.setPrefix("contoh");

// 3. Jalankan permintaan.
BucketList bucketList = ossClient.listBuckets(listBucketsRequest);

Python

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

# Kirim objek permintaan dengan parameter awalan ke metode iter_page dari paginator.
for page in paginator.iter_page(oss.ListBucketsRequest(
    prefix='contoh'
)):
    # ... Proses loop ...

Go

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

// 1. Buat objek permintaan dan atur bidang Prefix.
request := &oss.ListBucketsRequest{
    Prefix: oss.Ptr("contoh"), 
}

// 2. Gunakan objek permintaan ini untuk membuat paginator.
p := client.NewListBucketsPaginator(request)

Node.js

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

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

Harmony

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

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

Ruby

Untuk kode sampel lengkap, lihat Daftar bucket.

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

Daftar bucket setelah posisi tertentu

Anda dapat mengatur parameter marker untuk menentukan posisi awal daftar. Ini adalah langkah kunci dalam mengimplementasikan paginasi manual.

ossutil

Daftarkan semua bucket yang dimiliki oleh peminta 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).

// 1. Set marker ke "examplebucket" untuk mendaftarkan bucket yang datang 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).

# Set marker ke "example-bucket" untuk mendaftarkan bucket yang datang 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).

// Set marker ke "example-bucket" untuk mendaftarkan bucket yang datang setelah "example-bucket".
request := &oss.ListBucketsRequest{
    Marker: oss.Ptr("example-bucket"), 
}

// Gunakan permintaan ini untuk membuat paginator.
p := client.NewListBucketsPaginator(request)

Harmony

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

// Set nilai awal marker ke "examplebucket" untuk menentukan titik awal pencatatan.
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).

// Set marker ke 'examplebucket' untuk mendaftarkan bucket yang datang setelah 'examplebucket'.
const result = await client.listBuckets({
  marker: 'examplebucket' 
});

Android

Untuk kode contoh lengkap, lihat Daftar bucket.

ListBucketsRequest request = new ListBucketsRequest();
// Set marker ke "examplebucket" untuk mendaftarkan bucket yang datang setelah "examplebucket".
request.setMarker("examplebucket");

ossClient.asyncListBuckets(request, ...);

iOS

Untuk kode contoh lengkap, lihat Daftar bucket.

OSSGetServiceRequest * getService = [OSSGetServiceRequest new];

// Set marker ke "examplebucket" untuk mendaftarkan bucket yang datang 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

Anda dapat mendaftarkan bucket berdasarkan ID kelompok sumber daya tertentu.

ossutil

Daftarkan semua bucket 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 sampel lengkap, lihat Daftar bucket (Java SDK).

ListBucketsRequest listBucketsRequest = new ListBucketsRequest();

// Kode utama: Atur ID kelompok sumber daya untuk filter.
listBucketsRequest.setResourceGroupId("rg-aek27tc****");

// Kirim objek permintaan yang telah dikonfigurasi ke metode listBuckets.
BucketList bucketList = ossClient.listBuckets(listBucketsRequest);

Python

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

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

Go

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

// Kode utama: Buat permintaan dan atur bidang ResourceGroupId.
request := &oss.ListBucketsRequest{
    ResourceGroupId: oss.Ptr("rg-aek27tc********"), 
}

// Gunakan permintaan ini untuk membuat paginator.
p := client.NewListBucketsPaginator(request)

PHP

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

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

Kontrol jumlah item yang dikembalikan per permintaan

Anda dapat mengatur parameter max-keys untuk mengontrol jumlah bucket yang dikembalikan dalam satu permintaan. Parameter ini mendefinisikan ukuran halaman.

ossutil

Batasi jumlah bucket yang dikembalikan dalam pemanggilan ini hingga maksimum 100.

ossutil api list-buckets --max-keys 100

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

SDK

Java

Untuk kode contoh lengkap, lihat List buckets (Java SDK).

ListBucketsRequest listBucketsRequest = new ListBucketsRequest();

// Kode utama: Atur parameter maxKeys menjadi 500 untuk membatasi jumlah bucket yang dikembalikan hingga maksimum 500.
listBucketsRequest.setMaxKeys(500);

// Kirim objek permintaan yang telah dikonfigurasi ke metode.
BucketList bucketList = ossClient.listBuckets(listBucketsRequest);

Python

Untuk kode contoh lengkap, lihat List buckets (Python SDK V2).

# Kode utama: Kirim parameter max_keys dengan nilai 10 saat membuat ListBucketsRequest.
# 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 List buckets (Go SDK V2).

// Kode utama: Atur bidang MaxKeys menjadi 5 saat membuat ListBucketsRequest.
// Paginator akan 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 List buckets (Node.js SDK).

// Kode utama: Kirim objek berisi properti 'max-keys' saat memanggil listBuckets.
// 'max-keys' diatur menjadi 500 untuk membatasi jumlah bucket yang dikembalikan hingga maksimum 500.
const result = await client.listBuckets({
  'max-keys': 500
});

Android

Untuk kode contoh lengkap, lihat List buckets.

ListBucketsRequest request = new ListBucketsRequest();

// Kode utama: Atur parameter maxKeys menjadi 500 untuk membatasi jumlah bucket yang dikembalikan dalam permintaan asinkron ini hingga maksimum 500.
request.setMaxKeys(500);

ossClient.asyncListBuckets(request, ...);

iOS

Untuk kode contoh lengkap, lihat List buckets.

OSSGetServiceRequest * getService = [OSSGetServiceRequest new];

// Kode utama: Atur properti maxKeys dari objek permintaan getService menjadi 500.
getService.maxKeys = 500;

OSSTask * getServiceTask = [client getService:getService];

Keterbatasan

Anda tidak dapat menggunakan titik akhir akselerasi transfer untuk mendaftar bucket. Hal ini karena layanan akselerasi transfer hanya menyelesaikan domain tingkat tiga yang berisi nama bucket, seperti https://BucketName.oss-accelerate.aliyuncs.com. Permintaan untuk mendaftar bucket, bagaimanapun, menggunakan nama domain yang tidak berisi nama bucket, seperti https://oss-cn-hangzhou.aliyuncs.com.