バケットは、Object Storage Service (OSS) にオブジェクトを格納するために使用されるコンテナーです。 OSS のすべてのオブジェクトはバケットに格納されます。 このトピックでは、バケットを作成する方法について説明します。
使用上の注意
このトピックのサンプルコードでは、中国 (杭州) リージョンのリージョン ID
cn-hangzhouを使用しています。 デフォルトでは、パブリックエンドポイントを使用してバケット内のリソースにアクセスします。 バケットが配置されているのと同じリージョン内の他の Alibaba Cloud サービスからバケット内のリソースにアクセスする場合は、内部エンドポイントを使用します。 OSS のリージョンとエンドポイントの詳細については、「OSS のリージョンとエンドポイント」をご参照ください。2025年10月13日 10:00 (UTC + 08:00) から、OSS はすべてリージョンで段階的な調整を実施し、API、OSS SDK、または ossutil を使用して作成された新しいバケットに対して、デフォルトで パブリックアクセスブロック を有効にします。 各リージョンで調整が有効になる正確な時間については、[公式発表] 新しく作成されたバケットのパブリックアクセスブロック設定の調整 をご参照ください。 パブリックアクセスブロックが有効になると、パブリック ACL (パブリック読み取りおよびパブリック読み取り/書き込み) やパブリックアクセスを許可するバケットポリシーなど、パブリックアクセス権限を設定することはできません。 ビジネスでパブリックアクセスが必要な場合は、バケットの作成後にこの機能を無効にすることができます。
例
次のサンプルコードは、examplebucket という名前のバケットを作成する例を示しています。
# -*- coding: utf-8 -*-
import oss2
# Alibaba Cloud アカウントの AccessKey ペアは、すべての API 操作に対する権限を持っています。これらの認証情報を使用して OSS で操作を実行することは、リスクの高い操作です。 API 操作の呼び出しや日常的な操作とメンテナンスの実行には、RAM ユーザーを使用することをお勧めします。 RAM ユーザーを作成するには、RAM コンソールにログインします。
auth = oss2.Auth('yourAccessKeyId', 'yourAccessKeySecret')
# バケットが配置されているリージョンのエンドポイントを指定します。たとえば、バケットが中国 (杭州) リージョンにある場合は、エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。
# バケットの名前を指定します。例: examplebucket。
bucket = oss2.Bucket(auth, 'https://oss-cn-hangzhou.aliyuncs.com', 'examplebucket')
# バケットを作成します。
# 次のサンプルコードは、バケットの作成時にストレージタイプ、アクセス制御リスト (ACL)、および冗長タイプを指定する方法の例を示しています。
# この例では、ストレージタイプは標準、ACL は非公開、冗長タイプはゾーン冗長ストレージ (ZRS) です。
# bucketConfig = oss2.models.BucketCreateConfig(oss2.BUCKET_STORAGE_CLASS_STANDARD, oss2.BUCKET_DATA_REDUNDANCY_TYPE_ZRS)
# bucket.create_bucket(oss2.BUCKET_ACL_PRIVATE, bucketConfig)
bucket.create_bucket()