本文介紹如何查詢所有支援地區或者指定地區對應的Endpoint資訊,包括外網訪問(IPv4)Endpoint、內網訪問(傳統網路或VPC網路)Endpoint和傳輸加速網域名稱(全地區上傳下載加速)Endpoint。
注意事項
僅Python SDK 2.18.0及以上版本支援查詢Endpoint資訊。
查詢所有支援地區或者指定地區對應的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。