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
Masuk ke Konsol OSS.
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
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-bucketsUntuk 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(®ion, "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, ¶ms->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.

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 contohUntuk 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 examplebucketUntuk 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-123Untuk 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 100Untuk 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.