Topik ini menjelaskan cara menggunakan Python SDK V2 untuk menanyakan titik akhir dari semua Wilayah yang didukung atau Wilayah tertentu. Ini mencakup titik akhir akses Internet (IPv4), titik akhir akses internal (jaringan klasik atau VPC), serta titik akhir percepatan (akselerasi unggah dan unduh global).
Catatan
-
Anda dapat menanyakan titik akhir untuk semua Wilayah yang didukung atau Wilayah tertentu, meskipun belum membuat bucket di Wilayah tersebut.
Kode contoh dalam topik ini menggunakan ID Wilayah
cn-hangzhouuntuk China (Hangzhou) sebagai contoh dan menggunakan titik akhir publik secara default. Jika Anda ingin mengakses OSS dari layanan Alibaba Cloud lainnya di Wilayah yang sama, gunakan titik akhir internal. Untuk informasi lebih lanjut tentang pemetaan antara Wilayah yang didukung oleh OSS dan titik akhir, lihat Wilayah dan Titik Akhir OSS.
Menanyakan titik akhir untuk semua Wilayah yang didukung
Berikut adalah contoh cara menanyakan titik akhir untuk semua Wilayah yang didukung.
import argparse
import alibabacloud_oss_v2 as oss
# Buat parser argumen baris perintah dan jelaskan tujuan skrip: Contoh ini menunjukkan cara menanyakan informasi Wilayah yang didukung oleh OSS
parser = argparse.ArgumentParser(description="contoh describe regions")
# Tentukan parameter --region, yang menunjukkan Wilayah tempat bucket berada. Parameter ini wajib.
parser.add_argument('--region', help='Wilayah tempat bucket berada.', required=True)
# Tentukan parameter --bucket, yang menunjukkan nama bucket. Parameter ini wajib.
parser.add_argument('--bucket', help='Nama bucket.', required=True)
# Tentukan parameter --endpoint, yang menentukan Nama domain yang dapat digunakan layanan lain untuk mengakses OSS. Parameter ini opsional.
parser.add_argument('--endpoint', help='Nama domain yang dapat digunakan layanan lain untuk mengakses OSS')
# Tentukan parameter --regions, yang menunjukkan informasi regional. Parameter ini opsional.
parser.add_argument('--regions', help='Informasi regional.')
def main():
# Parsing parameter yang diberikan di baris perintah untuk mendapatkan nilai yang dimasukkan pengguna
args = parser.parse_args()
# Muat informasi autentikasi yang diperlukan untuk mengakses OSS dari variabel lingkungan
credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()
# Gunakan konfigurasi default dari SDK untuk membuat objek konfigurasi dan tentukan penyedia kredensial
cfg = oss.config.load_default()
cfg.credentials_provider = credentials_provider
cfg.region = args.region
# Jika titik akhir kustom diberikan, ubah parameter titik akhir dalam objek konfigurasi
if args.endpoint is not None:
cfg.endpoint = args.endpoint
# Gunakan konfigurasi sebelumnya untuk menginisialisasi instance OSSClient dan izinkan instance berinteraksi dengan OSS
client = oss.Client(cfg)
# Kirim permintaan untuk mendapatkan informasi Wilayah
result = client.describe_regions(oss.DescribeRegionsRequest(
regions=args.regions,
))
# Cetak kode status dan ID permintaan dari permintaan
print(f'kode status: {result.status_code},'
f' ID permintaan: {result.request_id}'
)
# Iterasi dan cetak detail setiap Wilayah
for rg in result.region_info:
print(f'Wilayah: {rg.region},'
f' titik akhir internet: {rg.internet_endpoint},'
f' titik akhir internal: {rg.internal_endpoint},'
f' titik akhir percepatan: {rg.accelerate_endpoint}'
)
# Panggil fungsi utama untuk memulai logika pemrosesan saat skrip dijalankan langsung
if __name__ == "__main__":
main() # Titik masuk skrip, tempat alur program dimulai
Menanyakan titik akhir untuk Wilayah tertentu
Kode contoh berikut menunjukkan cara menanyakan titik akhir untuk Wilayah tertentu.
import argparse
import alibabacloud_oss_v2 as oss
# Buat parser argumen baris perintah dan jelaskan tujuan skrip: Contoh ini menunjukkan cara menanyakan informasi Wilayah yang didukung oleh OSS
parser = argparse.ArgumentParser(description="contoh describe regions")
# Tentukan parameter --region, yang menunjukkan Wilayah tempat bucket berada. Parameter ini wajib.
parser.add_argument('--region', help='Wilayah tempat bucket berada.', required=True)
# Tentukan parameter --bucket, yang menunjukkan nama bucket. Parameter ini wajib.
parser.add_argument('--bucket', help='Nama bucket.', required=True)
# Tentukan parameter --endpoint, yang menentukan Nama domain yang dapat digunakan layanan lain untuk mengakses OSS. Parameter ini opsional.
parser.add_argument('--endpoint', help='Nama domain yang dapat digunakan layanan lain untuk mengakses OSS')
# Tentukan parameter --regions, yang menunjukkan informasi regional. Parameter ini opsional.
parser.add_argument('--regions', help='Informasi regional.')
def main():
# Parsing parameter yang diberikan di baris perintah untuk mendapatkan nilai yang dimasukkan pengguna
args = parser.parse_args()
# Muat informasi autentikasi yang diperlukan untuk mengakses OSS dari variabel lingkungan
credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()
# Gunakan konfigurasi default dari SDK untuk membuat objek konfigurasi dan tentukan penyedia kredensial
cfg = oss.config.load_default()
cfg.credentials_provider = credentials_provider
cfg.region = args.region
# Jika titik akhir kustom diberikan, ubah parameter titik akhir dalam objek konfigurasi
if args.endpoint is not None:
cfg.endpoint = args.endpoint
# Gunakan konfigurasi sebelumnya untuk menginisialisasi instance OSSClient dan izinkan instance berinteraksi dengan OSS
client = oss.Client(cfg)
# Kirim permintaan untuk mendapatkan informasi Wilayah
result = client.describe_regions(oss.DescribeRegionsRequest(
regions=args.regions, # Gunakan oss-cn-hangzhou sebagai contoh untuk China (Hangzhou). Untuk Wilayah lainnya, tentukan Wilayah aktual.
))
# Cetak kode status dan ID permintaan dari permintaan
print(f'kode status: {result.status_code},'
f' ID permintaan: {result.request_id}'
)
# Iterasi dan cetak detail setiap Wilayah
for rg in result.region_info:
print(f'Wilayah: {rg.region},'
f' titik akhir internet: {rg.internet_endpoint},'
f' titik akhir internal: {rg.internal_endpoint},'
f' titik akhir percepatan: {rg.accelerate_endpoint}'
)
# Panggil fungsi utama untuk memulai logika pemrosesan saat skrip dijalankan langsung
if __name__ == "__main__":
main() # Titik masuk skrip, tempat alur program dimulai
Referensi
-
Untuk deskripsi antarmuka API menanyakan informasi titik akhir untuk suatu Wilayah, lihat DescribeRegions.