Topik ini menjelaskan cara mengambil informasi tentang sebuah bucket menggunakan Object Storage Service (OSS) Python SDK. Informasi tersebut mencakup status pelacakan akses, wilayah, tanggal pembuatan, daftar kontrol akses (ACL), nama dan ID pemilik, kelas penyimpanan, tipe redundansi data, titik akhir publik, titik akhir internal, status replikasi lintas wilayah, status pengendalian versi, serta metode enkripsi.
Catatan
Kode contoh dalam topik ini menggunakan wilayah China (Hangzhou) (
cn-hangzhou) sebagai contoh. Titik akhir publik digunakan secara default. Jika Anda mengakses OSS dari layanan Alibaba Cloud lainnya di wilayah yang sama, gunakan titik akhir internal wilayah tersebut. Untuk informasi lebih lanjut tentang wilayah dan titik akhir yang didukung oleh OSS, lihat Wilayah dan Titik Akhir OSS.Contoh-contoh dalam topik ini menggunakan kredensial akses dari variabel lingkungan. Untuk informasi lebih lanjut tentang cara mengonfigurasi kredensial akses, lihat Konfigurasikan Kredensial Akses.
Untuk mengambil informasi tentang sebuah bucket, Anda harus memiliki izin
oss:GetBucketInfo. Untuk informasi lebih lanjut, lihat Berikan Kebijakan Akses Kustom kepada Pengguna RAM.
Definisi metode
get_bucket_info(request: GetBucketInfoRequest, **kwargs) → GetBucketInfoResultParameter permintaan
Parameter | Tipe | Deskripsi |
request | GetBucketInfoRequest | Tetapkan parameter permintaan. Untuk informasi lebih lanjut, lihat GetBucketInfoRequest. |
Nilai kembali
Tipe | Deskripsi |
GetBucketInfoResult | Nilai kembali. Untuk informasi lebih lanjut, lihat GetBucketInfoResult. |
Untuk definisi metode lengkap untuk mengambil informasi bucket, lihat get_bucket_info.
Contoh kode
Gunakan kode berikut untuk mengambil informasi tentang sebuah bucket.
import argparse
import alibabacloud_oss_v2 as oss
# Buat parser argumen baris perintah. Skrip ini mendapatkan informasi rinci tentang bucket yang ditentukan.
parser = argparse.ArgumentParser(description="Dapatkan informasi rinci tentang bucket OSS yang ditentukan.")
# Tambahkan argumen baris perintah --region. Argumen ini menentukan wilayah tempat bucket berada. Ini adalah argumen wajib.
parser.add_argument('--region', help='Wilayah tempat bucket berada.', required=True)
# Tambahkan argumen baris perintah --bucket. Argumen ini menentukan nama bucket. Ini adalah argumen wajib.
parser.add_argument('--bucket', help='Nama bucket untuk mendapatkan informasi.', required=True)
# Tambahkan argumen baris perintah --endpoint. Argumen ini menentukan titik akhir yang dapat digunakan layanan lain untuk mengakses OSS. Ini adalah argumen opsional.
parser.add_argument('--endpoint', help='Nama domain yang dapat digunakan layanan lain untuk mengakses OSS.')
def main():
"""
Fungsi utama, yang mem-parsing argumen baris perintah dan mendapatkan informasi rinci tentang bucket yang ditentukan.
"""
args = parser.parse_args() # Parsing argumen baris perintah.
# Muat kredensial dari variabel lingkungan untuk verifikasi identitas.
credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()
# Gunakan konfigurasi default dari SDK dan atur penyedia kredensial dan wilayah.
cfg = oss.config.load_default()
cfg.credentials_provider = credentials_provider
cfg.region = args.region
# Jika argumen endpoint diberikan, atur endpoint dalam konfigurasi.
if args.endpoint is not None:
cfg.endpoint = args.endpoint
# Buat klien OSS dengan konfigurasi yang ditentukan.
client = oss.Client(cfg)
# Konstruksi permintaan untuk mendapatkan informasi rinci tentang bucket yang ditentukan.
request = oss.GetBucketInfoRequest(bucket=args.bucket)
# Kirim permintaan dan dapatkan tanggapan.
result = client.get_bucket_info(request)
# Cetak informasi dari tanggapan.
print(f'kode status: {result.status_code},'
f' ID permintaan: {result.request_id},'
f' nama: {result.bucket_info.name},'
f' monitor akses: {result.bucket_info.access_monitor},'
f' lokasi: {result.bucket_info.location},'
f' tanggal pembuatan: {result.bucket_info.creation_date},'
f' titik akhir ekstranet: {result.bucket_info.extranet_endpoint},'
f' titik akhir intranet: {result.bucket_info.intranet_endpoint},'
f' ACL: {result.bucket_info.acl},'
f' tipe redundansi data: {result.bucket_info.data_redundancy_type},'
f' ID pemilik: {result.bucket_info.owner.id},'
f' nama tampilan pemilik: {result.bucket_info.owner.display_name},'
f' kelas penyimpanan: {result.bucket_info.storage_class},'
f' ID kelompok sumber daya: {result.bucket_info.resource_group_id},'
)
if __name__ == "__main__":
main() # Titik masuk skrip. Fungsi utama dipanggil saat file dijalankan langsung.Daftar informasi bucket umum
Parameter | Deskripsi |
BucketInfo.Name | Nama bucket. |
BucketInfo.AccessMonitor | Status pelacakan akses bucket. |
BucketInfo.Location | Wilayah tempat bucket berada. |
BucketInfo.CreationDate | Tanggal bucket dibuat. |
BucketInfo.ExtranetEndpoint | Titik akhir publik bucket. |
BucketInfo.IntranetEndpoint | Titik akhir internal wilayah yang sama yang dapat digunakan Instance ECS untuk mengakses bucket. |
BucketInfo.ACL | Daftar kontrol akses (ACL) bucket. |
BucketInfo.RedundancyType | Tipe redundansi data bucket. |
BucketInfo.Owner | Mencakup parameter berikut:
|
BucketInfo.StorageClass | Kelas penyimpanan bucket. |
BucketInfo.SseRule | Mencakup parameter berikut:
|
BucketInfo.Versioning | Status pengendalian versi bucket. |
BucketInfo.CrossRegionReplication | Status replikasi lintas wilayah bucket. |
Referensi
Untuk informasi lebih lanjut tentang bucket, lihat Ikhtisar Bucket.
Untuk kode contoh lengkap untuk mengambil informasi bucket, lihat get_bucket_info.py.