全部产品
Search
文档中心

Object Storage Service:Tentukan apakah sebuah bucket ada menggunakan OSS SDK untuk Python 1.0

更新时间:Aug 16, 2025

Bucket adalah wadah yang digunakan untuk menyimpan objek di dalam Object Storage Service (OSS). Topik ini menjelaskan cara menentukan apakah sebuah bucket ada.

Catatan penggunaan

  • Dalam topik ini, titik akhir publik Wilayah China (Hangzhou) digunakan. Jika Anda ingin mengakses OSS dari layanan Alibaba Cloud lainnya di wilayah yang sama dengan OSS, gunakan titik akhir internal. Untuk informasi lebih lanjut tentang Wilayah dan titik akhir OSS, lihat Wilayah dan titik akhir OSS.

  • Dalam topik ini, kredensial akses diperoleh dari variabel lingkungan. Untuk informasi lebih lanjut tentang cara mengonfigurasi kredensial akses, lihat Konfigurasikan kredensial akses menggunakan OSS SDK untuk Python 1.0.

  • Dalam topik ini, instans OSSClient dibuat menggunakan titik akhir OSS. Jika Anda ingin membuat instans OSSClient menggunakan nama domain kustom atau Layanan Token Keamanan (STS), lihat Inisialisasi.

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

Contoh

Kode berikut memberikan contoh cara menentukan apakah bucket tertentu ada:

# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode sampel, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

# Tentukan titik akhir wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur titik akhir ke https://oss-cn-hangzhou.aliyuncs.com.
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"

# Tentukan ID wilayah yang sesuai dengan titik akhir. Contoh: cn-hangzhou. Parameter ini diperlukan jika Anda menggunakan algoritma tanda tangan V4.
region = "cn-hangzhou"

# Tentukan nama bucket Anda.
bucket = oss2.Bucket(auth, endpoint, "yourBucketName", region=region)

def does_bucket_exist(bucket):
    try:
        bucket.get_bucket_info()
    except oss2.exceptions.NoSuchBucket:
        return False
    except:
        raise
    return True

# Tentukan apakah bucket yang ditentukan ada. Jika bucket ada, nilai true akan dikembalikan. Jika tidak, nilai false akan dikembalikan.
exist = does_bucket_exist(bucket)
if exist:
    print('bucket exist')
else:
    print('bucket not exist')

Referensi

Untuk kode sampel lengkap yang digunakan untuk menentukan apakah sebuah bucket ada, kunjungi GitHub.