バケットは、オブジェクトを格納するために使用されるコンテナーです。このトピックでは、Python バージョン 2.0 向け Object Storage Service (OSS) SDK を使用してバケットを作成する方法について説明します。
権限
デフォルトでは、Alibaba Cloud アカウントはすべての権限を持っています。Alibaba Cloud アカウントの RAM ユーザーまたは RAM ロールは、デフォルトでは権限を持っていません。Alibaba Cloud アカウントまたはアカウント管理者は、RAM ポリシーまたはバケットポリシーを通じて操作権限を付与する必要があります。
API | アクション | 定義 |
PutBucket |
| バケットを作成します。 |
| バケットを作成した後、バケット ACL を変更するには、この権限が必要です。 |
注意事項
このトピックのサンプルコードでは、中国 (杭州) リージョンのリージョン ID
cn-hangzhouを使用しています。デフォルトでは、パブリックエンドポイントを使用してバケット内のリソースにアクセスします。バケットが配置されているのと同じリージョン内の他の Alibaba Cloud サービスを使用してバケット内のリソースにアクセスする場合は、内部エンドポイントを使用します。サポートされているリージョンとエンドポイントの詳細については、「OSS リージョンとエンドポイント」をご参照ください。2025年10月13日 10:00 (UTC + 08:00) から、OSS はすべてリージョンで段階的な調整を実施し、API、OSS SDK、または ossutil を使用して作成された新しいバケットに対して、デフォルトで パブリックアクセスをブロック を有効にします。各リージョンで調整が有効になる正確な時間については、[公式発表] 新しく作成されたバケットのパブリックアクセスブロック設定の調整 をご覧ください。パブリックアクセスブロックが有効になると、パブリック ACL (パブリック読み取りおよびパブリック読み取り/書き込み) やパブリックアクセスを許可するバケットポリシーなど、パブリックアクセス権限を構成することはできません。ビジネスでパブリックアクセスが必要な場合は、バケットの作成後にこの機能を無効にすることができます。
メソッド
put_bucket(request: PutBucketRequest, **kwargs) → PutBucketResultリクエストパラメーター
パラメーター | タイプ | 説明 |
request | PutBucketRequest | リクエストパラメーター。詳細については、「PutBucketRequest」をご参照ください。 |
レスポンスパラメーター
タイプ | 説明 |
PutBucketResult | 操作に対するレスポンス。詳細については、「PutBucketResult」をご参照ください。 |
詳細については、「put_bucket」をご参照ください。
サンプルコード
以下は、バケットを作成するためのサンプルコードです。
import argparse
import alibabacloud_oss_v2 as oss
# コマンドライン引数パーサーを作成します。
parser = argparse.ArgumentParser(description="put bucket sample")
# 必須のコマンドラインパラメーター --region を指定します。これは、バケットが配置されているリージョンを指定します。
parser.add_argument('--region', help='バケットが配置されているリージョン。', required=True)
# 必須のコマンドラインパラメーター --bucket を指定します。これは、バケットの名前を指定します。
parser.add_argument('--bucket', help='バケットの名前。', required=True)
# オプションのコマンドラインパラメーター --endpoint を指定します。これは、他のサービスが OSS にアクセスするために使用できるエンドポイントを指定します。
parser.add_argument('--endpoint', help='他のサービスが OSS にアクセスするために使用できるドメイン名')
def main():
args = parser.parse_args() # コマンドラインパラメーターを解析します。
# 認証のために環境変数からアクセス認証情報をロードします。
credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()
# SDK のデフォルト設定をロードし、認証情報プロバイダーを指定します。
cfg = oss.config.load_default()
cfg.credentials_provider = credentials_provider
# バケットが配置されているリージョンを指定します。
cfg.region = args.region
# endpoint パラメーターが指定されている場合は、他のサービスが OSS にアクセスするために使用できるエンドポイントを指定します。
if args.endpoint is not None:
cfg.endpoint = args.endpoint
# 設定を使用して OSSClient インスタンスを作成します。
client = oss.Client(cfg)
# バケットを作成し、そのストレージタイプを Standard に設定するリクエストを実行します。
result = client.put_bucket(oss.PutBucketRequest(
bucket=args.bucket,
create_bucket_configuration=oss.CreateBucketConfiguration(
storage_class='Standard' # ストレージタイプを Standard に設定
)
))
# レスポンスの HTTP ステータスコードと、リクエストが成功したかどうかを確認するために使用されるリクエスト ID を出力します。
print(f'status code: {result.status_code},'
f' request id: {result.request_id},'
)
if __name__ == "__main__":
main() # スクリプトのエントリポイント。ファイルが直接実行されると、main 関数が呼び出されます。参照
バケットを作成するための完全なサンプルコードについては、put_bucket.py にアクセスしてください。