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

Object Storage Service:バケットのリージョンを取得する (C# SDK V2)

最終更新日:Nov 09, 2025

このトピックでは、OSS SDK for C# V2 を使用してバケットのリージョンを取得する方法について説明します。

注意事項

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

  • このトピックでは、環境変数からアクセス資格情報を読み取る例を示します。アクセス資格情報の設定方法の詳細については、「.NET SDK 2.0 のアクセス資格情報を設定する」をご参照ください。

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

サンプルコード

次のコードを使用して、バケットのリージョンを取得できます。

using OSS = AlibabaCloud.OSS.V2; // Alibaba Cloud OSS SDK のエイリアスを作成して、後続の使用を簡素化します。

var region = "cn-hangzhou"; // 必須。バケットが配置されているリージョンを設定します。このトピックでは、中国 (杭州) を例として使用します。Region を cn-hangzhou に設定します。
var bucket = "your bucket name";  // 必須。宛先バケットの名前を設定します。
var endpoint = null as string;  // オプション。OSS へのアクセスに使用するドメイン名を指定します。このトピックでは、中国 (杭州) を例として使用します。Endpoint を https://oss-cn-hangzhou.aliyuncs.com に設定します。

// OSS SDK のデフォルト設定を読み込みます。これらの設定は、AccessKey などの資格情報情報を環境変数から自動的に読み取ります。
var cfg = OSS.Configuration.LoadDefault();
// 環境変数を使用して ID 検証用の資格情報を取得することを明示的に指定します。フォーマット: OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET。
cfg.CredentialsProvider = new OSS.Credentials.EnvironmentVariableCredentialsProvider();
// 設定でバケットのリージョンを設定します。
cfg.Region = region;
// エンドポイントが指定されている場合、デフォルトのエンドポイントは上書きされます。
if(endpoint != null)
{
    cfg.Endpoint = endpoint;
} 

// 設定情報を使用して OSS クライアントインスタンスを作成します。
using var client = new OSS.Client(cfg);

// GetBucketLocationAsync メソッドを呼び出して、指定されたバケットのリージョン情報を取得します。
var result = await client.GetBucketLocationAsync(new OSS.Models.GetBucketLocationRequest()
{
    Bucket = bucket
});

// 結果を出力します。
Console.WriteLine("GetBucketLocation done");  // 操作が完了したことを示します。
Console.WriteLine($"StatusCode: {result.StatusCode}");  // HTTP ステータスコード
Console.WriteLine($"RequestId: {result.RequestId}");  // リクエスト ID。Alibaba Cloud が問題をトラブルシューティングするために使用します。
Console.WriteLine("Response Headers:");  // 応答ヘッダー情報
result.Headers.ToList().ForEach(x => Console.WriteLine(x.Key + " : " + x.Value));  // すべての応答ヘッダーを走査して出力します。
Console.WriteLine($"Location: {result.LocationConstraint}");  // バケットが属するリージョンを出力します。

リファレンス

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