本文介紹如何查詢所有支持地域或者指定地域對應的Endpoint信息,包括外網訪問(IPv4)Endpoint、內網訪問(經典網絡或VPC網絡)Endpoint和傳輸加速域名(全地域上傳下載加速)Endpoint。
注意事項
僅Python SDK 2.18.0及以上版本支持查詢Endpoint信息。
不支持查詢無地域屬性(中國內地)地域的Endpoint信息。更多信息,請參見OSS地域和訪問域名。
查詢所有支持地域或者指定地域對應的Endpoint信息與OSS的地域支持情況相關,與您在該地域是否創建Bucket無關。
本文以華東1(杭州)外網Endpoint為例。如果您希望通過與OSS同地域的其他阿里云產品訪問OSS,請使用內網Endpoint。關于OSS支持的Region與Endpoint的對應關系,請參見OSS地域和訪問域名。
本文以OSS域名新建OSSClient為例。如果您希望通過自定義域名、STS等方式新建OSSClient,請參見初始化。
查詢所有支持地域對應的Endpoint信息
以下代碼用于查詢所有支持地域對應的Endpoint信息。
# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())
# 填寫Bucket所在地域對應的Endpoint。以華東1(杭州)為例,Endpoint填寫為https://oss-cn-hangzhou.aliyuncs.com。
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# 填寫Endpoint對應的Region信息,例如cn-hangzhou。注意,v4簽名下,必須填寫該參數
region = "cn-hangzhou"
service = oss2.Service(auth, endpoint, region=region)
# 查詢所有支持地域對應的Endpoint信息。
result = service.describe_regions()
for r in result.regions:
# 打印所有支持地域的信息。
print('region: {0}'.format(r.region))
# 打印所有支持地域對應的外網訪問(IPv4)Endpoint。
print('internet_endpoint: {0}'.format(r.internet_endpoint))
# 打印所有支持地域對應的內網訪問(經典網絡或VPC網絡)Endpoint。
print('internal_endpoint: {0}'.format(r.internal_endpoint))
# 打印所有支持地域對應的傳輸加速域名(全地域上傳下載加速)Endpoint。
print('accelerate_endpoint: {0}'.format(r.accelerate_endpoint))
查詢指定地域對應的Endpoint信息
以下代碼用于查詢指定地域對應的Endpoint信息。
# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())
# 填寫Bucket所在地域對應的Endpoint。以華東1(杭州)為例,Endpoint填寫為https://oss-cn-hangzhou.aliyuncs.com。
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# 填寫Endpoint對應的Region信息,例如cn-hangzhou。注意,v4簽名下,必須填寫該參數
region = "cn-hangzhou"
service = oss2.Service(auth, endpoint, region=region)
# 以查詢華東1(杭州)地域對應的Endpoint信息為例。如需查詢其他地域對應的Endpoint信息,請替換為指定地域。
result = service.describe_regions('oss-cn-hangzhou')
for r in result.regions:
# 打印指定地域的信息。
print('region: {0}'.format(r.region))
# 打印指定地域對應的外網訪問(IPv4)Endpoint。
print('internet_endpoint: {0}'.format(r.internet_endpoint))
# 打印指定地域對應的內網訪問(經典網絡或VPC網絡)Endpoint。
print('internal_endpoint: {0}'.format(r.internal_endpoint))
# 打印指定地域對應的傳輸加速域名(全地域上傳下載加速)Endpoint。
print('accelerate_endpoint: {0}'.format(r.accelerate_endpoint))
相關文檔
關于查詢地域對應Endpoint信息的API接口描述,請參見DescribeRegions。
文檔內容是否對您有幫助?