Topik ini menjelaskan cara menanyakan wilayah tempat bucket berada menggunakan OSS SDK untuk Python V2.
Catatan
Kode contoh dalam topik ini menggunakan ID wilayah
cn-hangzhouuntuk wilayah China (Hangzhou). Secara default, titik akhir publik digunakan untuk mengakses sumber daya di bucket. Jika Anda ingin mengakses sumber daya di bucket dari layanan Alibaba Cloud lainnya di wilayah yang sama, gunakan titik akhir internal. Untuk informasi lebih lanjut tentang wilayah dan titik akhir yang didukung oleh OSS, lihat Wilayah dan Titik Akhir OSS.Dalam topik ini, kredensial akses diambil dari variabel lingkungan. Untuk informasi lebih lanjut tentang cara mengonfigurasi kredensial akses, lihat Konfigurasikan Kredensial Akses.
Untuk menanyakan wilayah tempat bucket berada, Anda harus memiliki izin
oss:GetBucketLocation. Untuk informasi lebih lanjut, lihat Berikan Kebijakan Kustom kepada Pengguna RAM.
Definisi metode
get_bucket_location(request: GetBucketLocationRequest, **kwargs) → GetBucketLocationResultParameter permintaan
Parameter | Tipe | Deskripsi |
request | GetBucketLocationRequest | Menentukan parameter permintaan. Untuk informasi lebih lanjut, lihat GetBucketLocationRequest |
Nilai kembali
Tipe | Deskripsi |
GetBucketLocationResult | Nilai balik. Untuk informasi lebih lanjut, lihat GetBucketLocationResult |
Untuk informasi lebih lanjut tentang definisi lengkap metode ini, lihat get_bucket_location.
Kode contoh
Berikut adalah kode contoh cara menanyakan wilayah tempat bucket berada.
import argparse
import alibabacloud_oss_v2 as oss
# Buat parser argumen baris perintah. Skrip ini digunakan untuk mendapatkan informasi lokasi bucket tertentu.
parser = argparse.ArgumentParser(description="Dapatkan lokasi bucket OSS tertentu.")
# Tambahkan argumen baris perintah --region, yang menentukan wilayah tempat bucket berada. Argumen ini wajib.
parser.add_argument('--region', help='Wilayah tempat bucket berada.', required=True)
# Tambahkan argumen baris perintah --bucket, yang menentukan nama bucket. Argumen ini wajib.
parser.add_argument('--bucket', help='Nama bucket untuk mendapatkan lokasi.', required=True)
# Tambahkan argumen baris perintah --endpoint, yang menentukan nama domain yang dapat digunakan layanan lain untuk mengakses OSS. Argumen ini opsional.
parser.add_argument('--endpoint', help='Nama domain yang dapat digunakan layanan lain untuk mengakses OSS.')
def main():
"""
Fungsi utama, yang digunakan untuk mem-parsing argumen baris perintah dan mendapatkan informasi lokasi bucket tertentu.
"""
args = parser.parse_args() # Parse argumen baris perintah.
# Muat informasi kredensial dari variabel lingkungan untuk verifikasi identitas.
credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()
# Gunakan konfigurasi default dari SDK, dan atur penyedia kredensial dan informasi 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 menggunakan informasi yang telah dikonfigurasi.
client = oss.Client(cfg)
# Konstruksi permintaan untuk mendapatkan informasi lokasi bucket tertentu.
request = oss.GetBucketLocationRequest(bucket=args.bucket)
# Eksekusi permintaan dan dapatkan tanggapan.
result = client.get_bucket_location(request)
# Cetak kode status, ID permintaan, dan informasi lokasi dari tanggapan.
print(f'kode status: {result.status_code},'
f' ID permintaan: {result.request_id},'
f' lokasi: {result.location}'
)
if __name__ == "__main__":
main() # Titik masuk skrip. Fungsi utama dipanggil ketika file dijalankan langsung.Referensi
Untuk kode contoh lengkap untuk menanyakan wilayah sebuah bucket, lihat get_bucket_location.py.