Topik ini menjelaskan cara menanyakan titik akhir dari semua Wilayah yang didukung oleh Object Storage Service (OSS) atau Wilayah tertentu, termasuk titik akhir publik, titik akhir internal, dan titik akhir percepatan.
Catatan penggunaan
Hanya OSS SDK untuk Python versi 2.18.0 ke atas yang mendukung penanyakan titik akhir.
Anda dapat menanyakan titik akhir berdasarkan apakah Wilayah atau Wilayah tertentu didukung oleh OSS, terlepas dari apakah Anda telah membuat bucket di Wilayah tersebut.
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.
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.
Menanyakan titik akhir dari semua wilayah yang didukung
Kode berikut memberikan contoh cara menanyakan titik akhir dari semua Wilayah yang didukung:
# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode sampel ini, pastikan Anda telah mengonfigurasi variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET.
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"
service = oss2.Service(auth, endpoint, region=region)
# Menanyakan titik akhir dari semua wilayah yang didukung.
result = service.describe_regions()
for r in result.regions:
# Tampilkan informasi tentang semua wilayah yang didukung.
print('wilayah: {0}'.format(r.region))
# Tampilkan titik akhir publik dari semua wilayah yang didukung.
print('internet_endpoint: {0}'.format(r.internet_endpoint))
# Tampilkan titik akhir internal dari semua wilayah yang didukung.
print('internal_endpoint: {0}'.format(r.internal_endpoint))
# Tampilkan titik akhir percepatan dari semua wilayah yang didukung.
print('accelerate_endpoint: {0}'.format(r.accelerate_endpoint))Menanyakan titik akhir dari wilayah tertentu
Kode berikut memberikan contoh cara menanyakan titik akhir dari Wilayah tertentu:
# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode sampel ini, pastikan Anda telah mengonfigurasi variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET.
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"
service = oss2.Service(auth, endpoint, region=region)
# Dalam contoh ini, titik akhir wilayah China (Hangzhou) ditanyakan. Jika Anda ingin menanyakan titik akhir wilayah lain, ganti nilai parameter ini dengan wilayah sebenarnya.
result = service.describe_regions('oss-cn-hangzhou')
for r in result.regions:
# Tampilkan informasi tentang wilayah.
print('wilayah: {0}'.format(r.region))
# Tampilkan titik akhir publik wilayah.
print('internet_endpoint: {0}'.format(r.internet_endpoint))
# Tampilkan titik akhir internal wilayah.
print('internal_endpoint: {0}'.format(r.internal_endpoint))
# Tampilkan titik akhir percepatan wilayah.
print('accelerate_endpoint: {0}'.format(r.accelerate_endpoint))Referensi
Untuk informasi lebih lanjut tentang operasi API yang dapat Anda panggil untuk menanyakan titik akhir dari semua Wilayah yang didukung oleh OSS atau Wilayah tertentu, lihat DescribeRegions.