このトピックでは、パブリックエンドポイント、内部エンドポイント、アクセラレーションエンドポイントなど、Object Storage Service (OSS) でサポートされているすべてのリージョンまたは特定のリージョンのエンドポイントをクエリする方法について説明します。
使用上の注意
Python 2.18.0以降のOSS SDKのみがエンドポイントのクエリをサポートしています。
リージョンまたは特定のリージョンでバケットを作成したかどうかに関係なく、リージョンまたは特定のリージョンがOSSでサポートされているかどうかに基づいてエンドポイントをクエリできます。
このトピックでは、中国 (杭州) リージョンのパブリックエンドポイントを使用します。 OSSと同じリージョンにある他のAlibaba CloudサービスからOSSにアクセスする場合は、内部エンドポイントを使用します。 OSSリージョンとエンドポイントの詳細については、「リージョン、エンドポイント、オープンポート」をご参照ください。
このトピックでは、OSSエンドポイントを使用してOSSClientインスタンスを作成します。 カスタムドメイン名またはSTS (Security Token Service) を使用してOSSClientインスタンスを作成する場合は、「初期化」をご参照ください。
サポートされているすべてのリージョンのエンドポイントの照会
次のコードでは、サポートされているすべてのリージョンのエンドポイントを照会する方法の例を示します。
# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# Obtain access credentials from the environment variables. Before you run this sample code, make sure that you have configured environment variables OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET.
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())
# Specify the endpoint of the region in which the bucket is located. For example, if the bucket is located in the China (Hangzhou) region, set the endpoint to https://oss-cn-hangzhou.aliyuncs.com.
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# Specify the ID of the region that maps to the endpoint. Example: cn-hangzhou. This parameter is required if you use the signature algorithm V4.
region = "cn-hangzhou"
service = oss2.Service(auth, endpoint, region=region)
# Query the endpoints of all supported regions.
result = service.describe_regions()
for r in result.regions:
# Display information about all supported regions.
print('region: {0}'.format(r.region))
# Display the public endpoints of all supported regions.
print('internet_endpoint: {0}'.format(r.internet_endpoint))
# Display the internal endpoints of all supported regions.
print('internal_endpoint: {0}'.format(r.internal_endpoint))
# Display the acceleration endpoints of all supported regions.
print('accelerate_endpoint: {0}'.format(r.accelerate_endpoint))
特定のリージョンのエンドポイントの照会
次のコードは、特定のリージョンのエンドポイントをクエリする方法の例を示しています。
# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# Obtain access credentials from the environment variables. Before you run this sample code, make sure that you have configured environment variables OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET.
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())
# Specify the endpoint of the region in which the bucket is located. For example, if the bucket is located in the China (Hangzhou) region, set the endpoint to https://oss-cn-hangzhou.aliyuncs.com.
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# Specify the ID of the region that maps to the endpoint. Example: cn-hangzhou. This parameter is required if you use the signature algorithm V4.
region = "cn-hangzhou"
service = oss2.Service(auth, endpoint, region=region)
# In this example, the endpoints of the China (Hangzhou) region are queried. If you want to query the endpoints of other regions, replace the value of this parameter with the actual region.
result = service.describe_regions('oss-cn-hangzhou')
for r in result.regions:
# Display information about the region.
print('region: {0}'.format(r.region))
# Display the public endpoint of the region.
print('internet_endpoint: {0}'.format(r.internet_endpoint))
# Display the internal endpoint of the region.
print('internal_endpoint: {0}'.format(r.internal_endpoint))
# Display the acceleration endpoint of the region.
print('accelerate_endpoint: {0}'.format(r.accelerate_endpoint))
関連ドキュメント
OSSでサポートされているすべてのリージョンまたは特定のリージョンのエンドポイントを照会するために呼び出すことができるAPI操作の詳細については、「DescribeRegions」をご参照ください。