すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:バケットのリージョンをクエリする (Python SDK V2)

最終更新日:Nov 09, 2025

このトピックでは、OSS SDK for Python V2 を使用してバケットが配置されているリージョンをクエリする方法について説明します。

注意事項

  • このトピックのサンプルコードでは、中国 (杭州) リージョンのリージョン ID cn-hangzhou を使用します。デフォルトでは、パブリックエンドポイントを使用してバケット内のリソースにアクセスします。同じリージョン内の他の Alibaba Cloud サービスからバケット内のリソースにアクセスする場合は、内部エンドポイントを使用します。OSS でサポートされているリージョンとエンドポイントの詳細については、「OSS のリージョンとエンドポイント」をご参照ください。

  • このトピックでは、アクセス資格情報は環境変数から取得されます。アクセス資格情報の設定方法の詳細については、「アクセス資格情報の設定」をご参照ください。

  • バケットが配置されているリージョンをクエリするには、oss:GetBucketLocation 権限が必要です。詳細については、「RAM ユーザーへのカスタムポリシーの付与」をご参照ください。

メソッド定義

get_bucket_location(request: GetBucketLocationRequest, **kwargs) → GetBucketLocationResult

リクエストパラメーター

パラメーター

タイプ

説明

request

GetBucketLocationRequest

リクエストパラメーターを指定します。詳細については、「GetBucketLocationRequest」をご参照ください。

戻り値

タイプ

説明

GetBucketLocationResult

戻り値。詳細については、GetBucketLocationResult をご参照ください。

このメソッドの完全な定義の詳細については、「get_bucket_location」をご参照ください。

サンプルコード

次のコードは、バケットが配置されているリージョンをクエリする方法の例を示しています。

import argparse
import alibabacloud_oss_v2 as oss

# コマンドライン引数パーサーを作成します。このスクリプトは、指定されたバケットのロケーション情報を取得するために使用されます。
parser = argparse.ArgumentParser(description="Get the location of a specified OSS bucket.")

# バケットが配置されているリージョンを指定する --region コマンドライン引数を追加します。この引数は必須です。
parser.add_argument('--region', help='The region in which the bucket is located.', required=True)

# バケットの名前を指定する --bucket コマンドライン引数を追加します。この引数は必須です。
parser.add_argument('--bucket', help='The name of the bucket to get the location for.', required=True)

# 他のサービスが OSS にアクセスするために使用できるドメイン名を指定する --endpoint コマンドライン引数を追加します。この引数はオプションです。
parser.add_argument('--endpoint', help='The domain names that other services can use to access OSS.')

def main():
    """
    メイン関数。コマンドライン引数を解析し、指定されたバケットのロケーション情報を取得するために使用されます。
    """

    args = parser.parse_args()  # コマンドライン引数を解析します。

    # ID 検証のために環境変数から資格情報情報を読み込みます。
    credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()

    # SDK のデフォルト構成を使用し、資格情報プロバイダーとリージョン情報を設定します。
    cfg = oss.config.load_default()
    cfg.credentials_provider = credentials_provider
    cfg.region = args.region

    # endpoint 引数が指定されている場合は、構成でエンドポイントを設定します。
    if args.endpoint is not None:
        cfg.endpoint = args.endpoint

    # 設定された情報を使用して OSS クライアントを作成します。
    client = oss.Client(cfg)

    # 指定されたバケットのロケーション情報を取得するためのリクエストを構築します。
    request = oss.GetBucketLocationRequest(bucket=args.bucket)

    # リクエストを実行し、応答を取得します。
    result = client.get_bucket_location(request)

    # 応答のステータスコード、リクエスト ID、およびロケーション情報を出力します。
    print(f'status code: {result.status_code},'
          f' request id: {result.request_id},'
          f' location: {result.location}'
    )

if __name__ == "__main__":
    main()  # スクリプトのエントリポイント。ファイルが直接実行されると、メイン関数が呼び出されます。

リファレンス

  • バケットのリージョンをクエリするための完全なサンプルコードについては、「get_bucket_location.py」をご参照ください。