全部产品
Search
文档中心

Object Storage Service:Menanyakan informasi titik akhir (OSS SDK untuk Python V2)

更新时间:Nov 09, 2025

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-hangzhou untuk 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.