全部产品
Search
文档中心

Object Storage Service:Menentukan apakah sebuah bucket ada menggunakan OSS SDK untuk Python 2.0

更新时间:Aug 26, 2025

Topik ini menjelaskan cara menentukan apakah bucket ada menggunakan OSS SDK untuk Python 2.0.

Catatan penggunaan

  • Kode contoh dalam topik ini menggunakan ID wilayah cn-hangzhou dari wilayah China (Hangzhou). Secara default, titik akhir publik digunakan untuk mengakses sumber daya di bucket. Jika Anda ingin mengakses sumber daya ini dari layanan Alibaba Cloud lainnya di wilayah yang sama, gunakan titik akhir internal. Untuk informasi tentang wilayah dan titik akhir yang didukung, lihat Wilayah dan Titik Akhir.

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

  • Untuk menentukan apakah bucket ada, Anda harus memiliki izin oss:GetBucketAcl. Untuk informasi lebih lanjut, lihat Lampirkan Kebijakan Kustom ke Pengguna RAM.

Metode

is_bucket_exist(bucket: str, request_payer: str | None = None, **kwargs) → bool

Parameter permintaan

Parameter

Tipe

Deskripsi

bucket

str

Nama bucket.

Parameter respons

Tipe

Deskripsi

bool

Nilai balikan.

Untuk detail tentang metode untuk menentukan apakah bucket ada, lihat is_bucket_exist.

Kode contoh

Berikut adalah kode contoh untuk menentukan apakah bucket ada:

import argparse
import alibabacloud_oss_v2 as oss

# Buat parser parameter baris perintah dan jelaskan tujuan skrip.
parser = argparse.ArgumentParser(description="Periksa apakah bucket OSS tertentu ada.")

# Tentukan parameter --region untuk menunjukkan wilayah tempat bucket berada. Parameter ini wajib.
parser.add_argument('--region', help='Wilayah tempat bucket berada.', required=True)

# Tentukan parameter --bucket untuk menunjukkan nama bucket. Parameter baris perintah ini wajib.
parser.add_argument('--bucket', help='Nama bucket untuk memeriksa keberadaannya.', required=True)

# Tentukan parameter --endpoint untuk menunjukkan titik akhir wilayah tempat bucket berada. Parameter ini opsional.
parser.add_argument('--endpoint', help='Nama domain yang dapat digunakan layanan lain untuk mengakses OSS.')

def main():
    """
    Fungsi utama yang digunakan untuk mengurai parameter baris perintah dan menentukan apakah bucket tertentu ada.
    """

    args = parser.parse_args()  # Uraikan parameter baris perintah.

    # Dapatkan kredensial akses dari variabel lingkungan untuk otentikasi.
    credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()

    # Gunakan konfigurasi default SDK dan tentukan penyedia kredensial dan wilayah.
    cfg = oss.config.load_default()
    cfg.credentials_provider = credentials_provider
    cfg.region = args.region

    # Jika titik akhir diberikan, tentukan titik akhir dalam objek konfigurasi.
    if args.endpoint is not None:
        cfg.endpoint = args.endpoint

    # Gunakan konfigurasi sebelumnya untuk membuat instance OSSClient.
    client = oss.Client(cfg)

    # Tentukan apakah bucket tertentu ada.
    result = client.is_bucket_exist(bucket=args.bucket)

    # Tampilkan hasilnya.
    print(f'Bucket {args.bucket} ada: {result}')

if __name__ == "__main__":
    main()  # Titik masuk skrip. Saat skrip dijalankan langsung, fungsi utama dipanggil. 

Referensi

  • Untuk kode contoh lengkap yang digunakan untuk menentukan apakah bucket ada, kunjungi is_bucket_exist.py.