全部產品
Search
文件中心

Object Storage Service:Python查詢Endpoint資訊

更新時間:Nov 09, 2024

本文介紹如何查詢所有支援地區或者指定地區對應的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