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

Object Storage Service:SDK を介して OSS のバケットにアクセスする際にエンドポイントエラーが発生する

最終更新日:Mar 21, 2026

現象

OSS SDK を使用してバケットにアクセスすると、次のエラーが返されます:

The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint

原因

endpoint パラメーターが指定されていないか、間違ったリージョンを指しています。各 OSS バケットは作成されたリージョンに紐付けられており、すべてのリクエストはそのリージョンのエンドポイントを使用する必要があります。

例えば、バケットが中国 (青島) リージョンで作成されたにもかかわらず、SDK が杭州のエンドポイント (oss-cn-hangzhou.aliyuncs.com) で初期化された場合、OSS はこのエラーでリクエストを拒否します。

ソリューション

endpoint パラメーターを、バケットが作成されたリージョンのエンドポイントに設定してください。

以下の例は、正しい初期化パターンを示しています。

import os
import oss2

# バケットが作成されたリージョンに一致するエンドポイントを使用します。
# エンドポイントの完全なリスト: https://www.alibabacloud.com/help/oss/user-guide/regions-and-endpoints
endpoint = 'https://oss-cn-qingdao.aliyuncs.com'  # ご利用のバケットのリージョンエンドポイントに置き換えてください

access_key_id     = os.environ.get('OSS_ACCESS_KEY_ID')
access_key_secret = os.environ.get('OSS_ACCESS_KEY_SECRET')

auth   = oss2.Auth(access_key_id, access_key_secret)
bucket = oss2.Bucket(auth, endpoint, 'examplebucket')
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;

// バケットが作成されたリージョンに一致するエンドポイントを使用します。
// エンドポイントの完全なリスト: https://www.alibabacloud.com/help/oss/user-guide/regions-and-endpoints
String endpoint = "https://oss-cn-qingdao.aliyuncs.com"; // ご利用のバケットのリージョンエンドポイントに置き換えてください

String accessKeyId     = System.getenv("OSS_ACCESS_KEY_ID");
String accessKeySecret = System.getenv("OSS_ACCESS_KEY_SECRET");

OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);

https://oss-cn-qingdao.aliyuncs.com を、ご利用のバケットのリージョンの実際のエンドポイントに置き換えてください。完全なリストについては、「リージョンとエンドポイント」をご参照ください。

複数リージョンのバケットへのアクセス

アプリケーションが異なるリージョンのバケットにアクセスする場合は、リージョンごとに対応するエンドポイントを持つ個別のクライアントインスタンスを作成してください。

import os
import oss2

access_key_id     = os.environ.get('OSS_ACCESS_KEY_ID')
access_key_secret = os.environ.get('OSS_ACCESS_KEY_SECRET')

auth = oss2.Auth(access_key_id, access_key_secret)

# 中国 (青島) リージョン用のクライアント
qingdao_bucket = oss2.Bucket(auth, 'https://oss-cn-qingdao.aliyuncs.com', 'examplebucket')

# 杭州リージョン用のクライアント
hangzhou_bucket = oss2.Bucket(auth, 'https://oss-cn-hangzhou.aliyuncs.com', 'examplebucket')
String accessKeyId     = System.getenv("OSS_ACCESS_KEY_ID");
String accessKeySecret = System.getenv("OSS_ACCESS_KEY_SECRET");

// 中国 (青島) リージョン用のクライアント
OSS qingdaoClient = new OSSClientBuilder().build(
    "https://oss-cn-qingdao.aliyuncs.com",
    accessKeyId,
    accessKeySecret
);

// 杭州リージョン用のクライアント
OSS hangzhouClient = new OSSClientBuilder().build(
    "https://oss-cn-hangzhou.aliyuncs.com",
    accessKeyId,
    accessKeySecret
);

参考資料