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

Object Storage Service:バケットを作成する方法

最終更新日:Feb 23, 2024

バケットは、Object Storage Service (OSS) 内のオブジェクトのコンテナです。 オブジェクトをOSSにアップロードする前に、まずオブジェクトを格納するバケットを作成する必要があります。 アクセス制御リスト (ACL) やストレージクラスなど、バケットにさまざまな属性を設定できます。 さまざまなストレージクラスのバケットを作成し、ビジネス要件に基づいてそれらにデータを格納できます。

使用上の注意

  • バケットの作成には課金されません。 オブジェクトストレージ、オブジェクトアクセス、およびその他の使用量に対して課金されます。 詳細については、「課金の概要」をご参照ください。

  • バケットの容量はスケーラブルです。 バケットを使用する前に容量を購入する必要はありません。

制限事項

  • Alibaba Cloudアカウントは、リージョンごとに最大100バケットを持つことができます。

  • バケットの作成後、バケットの名前、リージョン、またはストレージクラスを変更することはできません。

  • 1つのバケットの容量は無制限です。

手順

OSSコンソールの使用

  1. OSSコンソールにログインします。

  2. 左側のナビゲーションウィンドウで、[] バケットリスト をクリックします。 [バケット] ページで、バケットの作成 をクリックします。

  3. バケットの作成 パネルで、次の表に示すパラメーターを設定します。

    パラメーター

    説明

    バケット名

    作成するバケットの名前。 バケットの名前は、次の要件を満たす必要があります。

    • 名前はOSSでグローバルに一意である必要があります。

    • 名前には、小文字、数字、およびハイフン (-) を使用できます。

    • 名前の先頭と末尾は、小文字または数字である必要があります。

    • 名前の長さは 3 ~ 63 文字である必要があります。

    リージョン

    バケットが配置されているリージョン。

    内部ネットワークを介してElastic Compute Service (ECS) インスタンスからOSSにアクセスするには、ECSインスタンスが配置されているリージョンを選択します。 詳細は、「OSSドメイン名」をご参照ください。

    説明

    中国本土のリージョンにバケットを作成する前に、実名登録ページで実名登録を完了する必要があります。

    エンドポイント

    バケットが配置されているリージョンのパブリックエンドポイント。

    ストレージクラス

    バケットのストレージクラス。 有効な値:

    • スタンダード: 信頼性が高く、可用性が高く、パフォーマンスの高いストレージサービスを提供し、頻繁なデータアクセスを処理できます。 標準は、ソーシャルネットワーキングアプリケーション、画像、音声、およびビデオリソース共有アプリケーション、大規模Webサイト、およびビッグデータ分析など、さまざまなビジネスアプリケーションに適しています。

    • IA: 標準ストレージクラスと比較して、耐久性の高いストレージサービスを低価格で提供します。 低頻度アクセス (IA) の最小課金サイズは64 KBで、最小課金保存期間は30日です。 IAオブジェクトにリアルタイムでアクセスできます。 IAオブジェクトにアクセスすると、データ取得料金が発生します。 IAは、月に1回または2回アクセスされるデータなど、アクセス頻度の低いデータに適しています。

    • アーカイブ: 標準およびIAと比較して低価格で耐久性の高いストレージサービスを提供します。 アーカイブの最小課金サイズは64 KB、最小課金ストレージ期間は60日です。 アーカイブオブジェクトが復元された後、またはアーカイブオブジェクトのリアルタイムアクセスが有効になった後、アーカイブオブジェクトにアクセスできます。 アーカイブオブジェクトの復元に必要な時間は約1分です。 アーカイブオブジェクトを復元すると、データ取得料金が発生します。 アーカイブオブジェクトのリアルタイムアクセスを有効にした後にアーカイブオブジェクトにアクセスすると、アクセスしたアーカイブデータのサイズに基づいてアーカイブデータ取得料金が発生します。 アーカイブは、アーカイブデータ、医用画像、科学資料、ビデオ映像など、長期間保存する必要のあるデータに適しています。

    • コールドアーカイブ: アーカイブと比較して、耐久性の高いストレージサービスを低価格で提供します。 コールドアーカイブの最小課金サイズは64 KB、最小課金ストレージ期間は180日です。 オブジェクトにアクセスする前に、Cold Archiveオブジェクトを復元する必要があります。 Cold Archiveオブジェクトの復元に必要な時間は、オブジェクトのサイズと復元モードによって異なります。 Cold Archiveオブジェクトを復元すると、データ取得料金とAPI操作呼び出し料金が発生します。 コールドアーカイブは、コンプライアンス要件のために長期間保持する必要があるデータ、ビッグデータおよびAI分野で長期間にわたって蓄積された生データ、映画およびテレビ業界で保持されているメディアリソース、オンライン教育業界からのアーカイブされたビデオなど、長期間にわたるコールドデータの保存に適しています。

      説明

      コールドアーカイブは次のリージョンでサポートされています: 中国 (杭州) 、中国 (上海) 、中国 (青島) 、中国 (北京) 、中国 (張家口) 、中国 (フフホト) 、中国 (ウランカブ) 、中国 (深セン) 、中国 (河源) 、中国 (広州) 、中国 (成都) 、中国 (香港) 、米国 (シリコンバレー) 、米国 (バージニア) 、日本 (東京) 、シンガポール、オーストラリア (シドニー) 、マレーシア (クアラルンプール) 、インドネシア (ジャカルタ) 、フィリピン (マニラ) 、インド (ムンバイ) 、ドイツ (フランクフルト) 、英国 (ロンドン) 、アラブ首長国連邦 (ドバイ)

    • Deep Cold Archive: コールドアーカイブと比較して、耐久性の高いストレージサービスを低価格で提供します。 Deep Cold Archiveの最小課金サイズは64 KB、最小課金ストレージ期間は180日です。 アクセスする前に、Deep Cold Archiveオブジェクトを復元する必要があります。 Deep Cold Archiveオブジェクトの復元に必要な時間は、オブジェクトのサイズと復元モードによって異なります。 Deep Cold Archiveオブジェクトを復元すると、データ取得料金とAPI操作呼び出し料金が発生します。 Deep Cold Archiveは、ビッグデータやAI分野で長期間蓄積される生データ、長期保存が必要なメディアデータ、規制やポリシーのコンプライアンス要件により長期間保存する必要があるデータなど、非常にコールドなデータを長期間保存するのに適しています。長期保存のためにテープからクラウドに移行する必要があるデータ。

      説明

      Deep Cold Archiveは、中国 (杭州) 、中国 (上海) 、中国 (北京) 、中国 (張家口) 、中国 (ウランカブ) 、中国 (深セン) 、シンガポールでサポートされています。

    ストレージクラスの詳細については、「概要」をご参照ください。

    冗長性

    バケットの冗長タイプ。 有効な値:

    • LRS

      ローカル冗長ストレージ (LRS) は、同じゾーン内の異なる施設の複数のデバイスにデータの複数のコピーを保存します。 LRSは、ハードウェア障害が発生してもデータの耐久性と可用性を提供します。

    • ZRS (推奨)

      ZRSは、同じリージョンの複数のゾーンにデータの複数のコピーを保存します。 ゾーンが使用できなくなっても、データにアクセスできます。

      重要

      ZRSは、中国 (深セン) 、中国 (北京) 、中国 (杭州) 、中国 (上海) 、中国 (香港) 、シンガポール、インドネシア (ジャカルタ) の各リージョンでサポートされています。 ZRSはストレージコストを増加させ、有効にした後は無効にできません。 この冗長タイプを選択するときは注意を払うことを推奨します

      詳細については、「ZRSバケットの作成」をご参照ください。

    ACL

    バケットのACL。

    • 非公開: このバケットの所有者と許可されたユーザーのみが、バケット内のオブジェクトを読み書きできます。 他のユーザーはバケット内のオブジェクトにアクセスできません。

    • 公開読み取り: このバケットの所有者と許可されたユーザーのみがバケットにオブジェクトを書き込むことができます。 匿名ユーザーを含む他のユーザーは、バケット内のオブジェクトのみを読み取ることができます。

      警告

      バケットのACLを公開読み取りに設定すると、すべてのユーザーがインターネット経由でバケット内のオブジェクトにアクセスできます。 これにより、バケット内のデータへの不正アクセスが発生する可能性があり、予期しない料金が請求される可能性があります。 バケットのACLを公開読み取りに設定する場合は、注意してください。

    • 公開読み書き: 匿名ユーザーを含むすべてのユーザーがバケット内のオブジェクトを読み書きできます。

      警告

      バケットのACLをPublic Read/Writeに設定すると、すべてのユーザーがバケット内のオブジェクトにアクセスし、インターネット経由でバケットにデータを書き込むことができます。 これにより、バケット内のデータへの不正アクセスが発生する可能性があり、予期しない料金が請求される可能性があります。 ユーザーが禁止されているデータまたは情報をアップロードすると、正当な利益と権利が侵害される可能性があります。 必要な場合を除き、バケットACLを公開読み書きに設定しないことを推奨します。

    リソースグループ

    バケットが属するリソースグループ。 リソースグループは、使用状況、権限、およびリージョンごとにリソースをグループ化するために使用されます。 リソースグループを使用して、リソースを階層的に整理し、ユーザーとプロジェクトに基づいてリソースをグループ化できます。 詳細については、「リソースグループの概要」をご参照ください。

    バージョン管理

    バージョン管理を有効にするかどうかを選択します。 有効な値:

    • 有効化: バケットのバージョン管理が有効になっている場合、上書きまたは削除されたオブジェクトは、以前のバージョンのオブジェクトとして保存されます。 バージョン管理を使用すると、バケット内のオブジェクトを以前のバージョンに復元し、誤って上書きや削除からデータを保護できます。 詳細については、「概要」をご参照ください。

    • 無効: バケットのバージョン管理が有効になっていない場合、上書きまたは削除されたデータは復元できません。

    暗号化の方法

    バケット内のオブジェクトを暗号化するメソッド。

    説明

    サーバー側の暗号化は、中国 (杭州) 、中国 (上海) 、中国 (青島) 、中国 (北京) 、中国 (張家口) 、中国 (フホト) 、中国 (ウランカブ) 、中国 (深セン) 、中国 (河源) 、中国 (広州) 、中国 (成都) 、中国 (香港) 、米国 (シリコンバレー) 、米国 (バージニア) 、日本 (東京) 、韓国 (ソウル) 、シンガポール、オーストラリア (シドニー) 、マレーシア (クアラルンプール) 、インドネシア (ジャカルタ) 、フィリピン (マニラ) 、タイ (バンコク) 、インド (ムンバイ) 、ドイツ (フランクフルト) 、英国 (ロンドン) 、アラブ首長国連邦 (ドバイ) 。

    • なし: サーバー側の暗号化は無効です。

    • OSS管理: OSSによって管理されるキーは、バケット内のオブジェクトを暗号化するために使用されます。 OSSは、各オブジェクトを異なるキーで暗号化します。 OSSは、定期的にローテーションされたマスターキーも使用して暗号化キーを暗号化します。

    • KMS: KMSまたは指定されたCMKによって管理されるデフォルトのCMKは、オブジェクトの暗号化と復号化に使用されます。

      KMS管理キーを使用するには、KMSを有効化する必要があります。 詳細については、「専用KMSインスタンスの購入」をご参照ください。

    • 暗号化アルゴリズム: AES-256のみサポートされます。

    • CMK: 暗号化の方法KMSに設定すると、このパラメーターを設定できます。 次のCMKタイプのいずれかを選択できます。

      • alias/acs/oss: KMSに保存されているデフォルトのCMKは、オブジェクトの暗号化とオブジェクトのダウンロード時の復号化に使用されます。

      • CMK ID: 指定されたCMKによって生成されたキーは、さまざまなオブジェクトを暗号化するために使用され、指定されたCMK IDは、暗号化されたオブジェクトのメタデータに記録されます。 オブジェクトは、解読権限を付与されたユーザーによってダウンロードされると解読されます。 CMK IDを指定する前に、KMSコンソールのバケットと同じリージョンに通常キーまたは外部キーを作成する必要があります。 詳細については、「CMKの作成」をご参照ください。

    リアルタイムログ照会

    過去7日間のOSSアクセスログを無料で照会する場合は、リアルタイムログクエリをオンにします。

    詳細については、「リアルタイムログクエリ」をご参照ください。

    リアルタイムログをクエリしたくない場合は、デフォルト設定の [無効] を保持します。

    定期バックアップ

    OSSデータを定期的にバックアップする場合は、[スケジュールバックアップ] をオンにします。 この場合、OSSは自動的にバックアップ計画を作成します。これに基づいて、Cloud Backupは1日1回データバックアップを実行し、7日間バックアップを保持します。

    重要
    • 定期バックアップは次のリージョンでサポートされています: 中国 (杭州) 、中国 (上海) 、中国 (深セン) 、中国 (北京) 、中国 (張家口) 、中国 (フフホト) 、中国 (成都) 、中国 (香港) 、ドイツ (フランクフルト) 、米国 (バージニア) 、日本 (東京) 、シンガポール、オーストラリア (シドニー) 、インドネシア (ジャカルタ) 、マレーシア (クアラルンプール) 、インド (ムンバイ) 、米国 (シリコンバレー)

    • IA、Archive、Cold Archive、およびDeep Cold Archiveバケットでは、スケジュールされたバックアップはサポートされません。

    • スケジュールされたバックアップは、シンボリックリンク、オブジェクトアクセス制御リスト (ACL) 、およびアーカイブ、コールドアーカイブ、およびディープコールドアーカイブストレージクラスのオブジェクトをサポートしません。

    • Cloud Backupが有効化されていないか、Cloud BackupがOSSへのアクセスを許可されていない場合、スケジュールされたバックアッププランを作成できません。

    詳細については、「スケジュールバックアップの設定」をご参照ください。

    OSSデータを定期的にバックアップしたくない場合は、デフォルト設定の [無効] を維持します。

    OSS-HDFS

    JindoSDKを使用してOSSにアクセスし、データレイクを構築する場合は、次の手順を使用してOSS-HDFSを有効にできます。OSS-HDFS切り替えボタンの上にポインターを移動し、[今すぐ有効化] をクリックしてOSS-HDFSを有効にします。

    重要
    • OSS-HDFSは次の地域でサポートされています: 中国 (杭州) 、中国 (上海) 、中国 (青島) 、中国 (北京) 、中国 (ウランカブ) 、中国 (深セン) 、中国 (広州) 、中国 (張家口) 、中国 (香港) 、日本 (東京) 、シンガポール、ドイツ (フランクフルト) 、米国 (シリコンバレー) 、米国 (バージニア) 、インドネシア (ジャカルタ) OSS-HDFSを使用するには、 チケットを起票し、サポートセンターにお問い合わせください。 OSS-HDFSを有効にすると無効にすることはできません。 OSS-HDFSを有効にするときは注意してください。

    • アーカイブまたはコールドアーカイブバケットに対してOSS-HDFSを有効にすることはできません。

    階層型名前空間

    バケット内のディレクトリまたはオブジェクトの名前を変更する場合は、階層的な名前空間機能を有効にします。

    重要
    • バケットの階層名前空間機能は、バケットを作成する場合にのみ有効にできます。 階層的な名前空間機能は、有効になった後は無効にできません。 階層名前空間機能を有効にするときは注意してください。

    • バケットに対してこの機能を有効にすると、OSSの特定の機能がバケットで使用できなくなります。 階層的名前空間機能が有効になっているバケットでサポートされていない機能の詳細については、「階層的名前空間の使用」をご参照ください。

    • 階層的な名前空間機能は、オーストラリア (シドニー) 、米国 (シリコンバレー) 、日本 (東京) 、インド (ムンバイ) 、英国 (ロンドン) 、マレーシア (クアラルンプール) の各リージョンでのみ使用できます。

  4. OK をクリックします。

ossbrowserの使用

ossbrowserを使用して、OSSコンソールで実行できるのと同じバケットレベルの操作を実行できます。 ossbrowserの画面上の指示に従って、バケットを作成できます。 ossbrowserの使用方法の詳細については、「ossbrowserの使用」をご参照ください。

OSS SDKの使用

次のサンプルコードは、一般的なプログラミング言語でOSS SDKを使用してバケットを作成する方法の例を示しています。 他のプログラミング言語のOSS SDKを使用してバケットを作成する方法の詳細については、「概要」をご参照ください。

Aliyun.OSSを使用した
com.aliyun.oss.ClientExceptionをインポートします。com.aliyun.oss.OSSをインポートします。impor t com.aliyun.oss.com mon.auth.*;
com.aliyun.oss.OSSClientBuilderをインポートします。com.aliyun.oss.OSSExceptionをインポートします。com.aliyun.oss.mo delをインポートします。*;

public classデモ {

    public static void main(String[] args) throws Exception {
        // バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントをhttps://oss-cn-hangzhou.aliyuncs.comに設定します。 
        String endpoint = "yourEndpoint";
        // 環境変数からアクセス資格情報を取得します。 サンプルコードを実行する前に、OSS_ACCESS_KEY_IDおよびOSS_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。 
        EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
        // バケットの名前を指定します。 
        String bucketName = "examplebucket";
        // リソースグループのIDを指定します。 リソースグループIDを指定しない場合、バケットはデフォルトリソースグループに属します。 
        // 文字列rsId = "rg-aek27tc ****";

        // Create an OSSClient instance. 
        OSS ossClient = new OSSClientBuilder().build(endpoint, credentialsProvider);

        try {
            // バケットを作成し、バケットの階層名前空間機能を有効にします。 
            CreateBucketRequest createBucketRequest = new CreateBucketRequest(bucketName).withHnsStatus(HnsStatus.Enabled);
            // 次のコードは、バケットの作成時にストレージクラス、アクセス制御リスト (ACL) 、および冗長タイプを指定する方法の例を示しています。 
            // この例では、バケットのストレージクラスはStandardです。 
            createBucketRequest.setStorageClass(StorageClass.Standard);
            // バケットのデフォルトの冗長タイプはDataRedundancyType.LRSです。 
            createBucketRequest.setDataRedundancyType(DataRedundancyType.LRS);
            // バケットのACLをpublic-readに設定します。 デフォルトのACLはprivateです。 
            createBucketRequest.setCannedACL(CannedAccessControlList.PublicRead);
            // リソースグループをサポートするリージョンでバケットを作成する場合、バケットのリソースグループを設定できます。 
            // createBucketRequest.setResourceGroupId(rsId);

            ossClient.createBucket(createBucketRequest);

            // Create a bucket. 
            ossClient.createBucket(createBucketRequest);
        } catch (Exception e) {
            System.out.println("Caught an OSSException, which means your request made it to OSS, "
                    + "しかし、何らかの理由でエラー応答で拒否されました。");
            System.out.println("エラーメッセージ:" + oe.getErrorMessage());
            System.out.println("エラーコード:" + oe.getErrorCode());
            System.out.println("リクエストID:" + oe.getRequestId());
            System.out.println("ホストID:" + oe.getHostId());
        } catch (ClientException e) {
            System.out.println("Caught an ClientException, which means the client encountered "
                    + "a serious internal problem while trying to communicate with OSS, "
                    + 「ネットワークにアクセスできないなど」;
            System.out.println("エラーメッセージ:" + ce.getMessage());
        } 最後に{
            if (ossClient != null) {
                ossClient.shutdown();
            }
        }
    }
} 
<?php
if (is_file(__DIR__) 。 '/../autoload.php')) {
    require_once __DIR__ . '/../autoload.php';
}
if (is_file(__DIR__) 。 '/../vendor/autoload.php')) {
    require_once __DIR__ . '/../vendor/autoload.php';
}

OSS\OssClientを使用します。OSS\Core\OssExceptionを使用します。// 環境変数からアクセス資格情報を取得します。 サンプルコードを実行する前に、OSS_ACCESS_KEY_IDおよびOSS_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。  
$accessKeyId = getenv("OSS_ACCESS_KEY_ID");
$accessKeySecret = getenv("OSS_ACCESS_KEY_SECRET");
// この例では、中国 (杭州) リージョンのエンドポイントが使用されます。 実際のエンドポイントを指定します。 
$end point = "http://oss-cn-hangzhou.aliyuncs.com";
// バケットの名前を指定します。 例: examplebucket. 
$bucket= "examplebucket";
try {
    $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
    // バケットのストレージクラスを低頻度アクセス (IA) に設定します。 The default storage class is Standard. 
    $options = array(
        OssClient::OSS_STORAGE => OssClient::OSS_STORAGE_IA
    );
    // バケットのACLをpublic-readに設定します。 デフォルトのバケットACLはprivateです。 
    $ossClient->createBucket($bucket、OssClient::OSS_ACL_TYPE_PUBLIC_READ、$options);
} catch (OssException $e) {
    printf(__FUNCTION__ . ": FAILED\n");
    printf($e->getMessage()) 。 "\n");
    戻ります。}
print(__FUNCTION__) 。 ": OK" 。 "\n"); 
const OSS = require('ali-OSS ');

const client = new OSS({
  // バケットが配置されているリージョンを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、リージョンをoss-cn-Hangzhouに設定します。 
  region: 'yourregion' 、
  // 環境変数からアクセス資格情報を取得します。 サンプルコードを実行する前に、環境変数OSS_ACCESS_KEY_IDとOSS_ACCESS_KEY_SECRETが設定されていることを確認してください。 
  accessKeyId: process.env.OSS_ACCESS_KEY_ID、
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET
});

// バケットを作成します。 
async関数putBucket() {
  try {
    const options = {
      storageClass: 'Standard', // デフォルトでは、バケットのストレージクラスはStandardです。 バケットのストレージクラスをArchiveに設定するには、storageClassをArchiveに設定します。 
      acl: 'private', // デフォルトでは、バケットのアクセス制御リスト (ACL) はプライベートです。 バケットのACLをpublic readに設定するには、aclをpublic-readに設定します。 
      dataRedundancyType: 'LRS' // デフォルトでは、バケットの冗長タイプはローカル冗長ストレージ (LRS) です。 バケットの冗長タイプをゾーン冗長ストレージ (ZRS) に設定するには、dataRedundancyTypeをZRSに設定します。 
    }
    // バケットの名前を指定します。 
    const result = await client.putBucket('examplebucket' 、オプション);
    console.log (結果);
  } catch (err) {
    console.log(err);
  }
}

putBucket();
# -*- coding: utf-8 -*-
oss2のインポート
oss2.credentialsからEnvironmentVariableCredentialsProviderをインポート

# 環境変数からアクセス資格情報を取得します。 このサンプルコードを実行する前に、環境変数OSS_ACCESS_KEY_IDとOSS_ACCESS_KEY_SECRETが設定されていることを確認してください。 
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())
# バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントをhttps://oss-cn-hangzhou.aliyuncs.comに設定します。 
# バケットの名前を指定します。 例: examplebucket. 
bucket = oss2.Bucket(auth, 'https:// oss-cn-hangzhou.aliyuncs.com ', 'examplebucket')

# バケットを作成します。 
# 次のサンプルコードは、バケットの作成時にストレージクラス、アクセス制御リスト (ACL) 、および冗長性の種類を指定する方法の例を示しています。 
# この例では、ストレージクラスはStandard、ACLはprivate、冗長タイプは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() 
;

// バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントをhttps://oss-cn-hangzhou.aliyuncs.comに設定します。 
var endpoint = "yourEndpoint";
// 環境変数からアクセス資格情報を取得します。 サンプルコードを実行する前に、OSS_ACCESS_KEY_IDおよびOSS_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。 
var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
var accessKeySecret = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET");
// バケットの名前を指定します。 
var bucketName = "examplebucket";

// OssClientインスタンスを初期化します。 
var client = new OssClient (エンドポイント、accessKeyId、accessKeySecret);
// バケットを作成します。 
try
    {
        var request = new CreateBucketRequest(bucketName);
        // バケットのアクセス制御リスト (ACL) をPublicReadに設定します。 デフォルト値はprivateです。 
        request.ACL = CannedAccessControlList.PublicRead;
        // バケットの冗長タイプをゾーン冗長ストレージ (ZRS) に設定します。 
        request.DataRedundancyType = DataRedundancyType.ZRS;
        client.CreateBucket (リクエスト);
        Console.WriteLine("Create bucket succeeded");
    }
    catch (Exception ex)
    {
        Console.WriteLine("バケットの作成に失敗しました。 {0}"、例えばメッセージ);
    } 
// バケットを作成するリクエストを作成します。 
// バケットの名前を指定します。 
CreateBucketRequest createBucketRequest=新しいCreateBucketRequest("examplebucket"); 。 
// バケットのアクセス制御リスト (ACL) を指定します。 
// createBucketRequest.setBucketACL(CannedAccessControlList.Private);
// バケットのストレージクラスを指定します。 
// createBucketRequest.setBucketStorageClass(StorageClass.Standard);

// バケットを非同期に作成します。 
OSSAsyncTask createTask = oss.asyncCreateBucket(createBucketRequest, new OSSCompletedCallback<CreateBucketRequest, CreateBucketResult>() {
    @オーバーライド
    public void onSuccess(CreateBucketRequestリクエスト、CreateBucketResult結果) {
        Log.d("asyncCreateBucket" 、"Success");
    }
    @オーバーライド
    public void onFailure(CreateBucketRequest request, ClientException clientException, ServiceException serviceException) {
        // リクエスト例外を処理します。 
        if (clientException != null) {
            // ネットワーク例外などのクライアント例外を処理します。 
            clientException.printStackTrace();
        }
        if (serviceException != null) {
            // サービス例外を処理します。 
            Log.e("ErrorCode", serviceException.getErrorCode());
            Log.e("RequestId", serviceException.getRequestId());
            Log.e("HostId", serviceException.getHostId());
            Log.e("RawMessage", serviceException.getRawMessage());
        }
    }
}); 
パッケージメイン

    import (
        "fmt"
        "os"
        "github.com/aliyun/aliyun-oss-go-sdk/oss"
    )

func main() {
    /// 環境変数からアクセス資格情報を取得します。 サンプルコードを実行する前に、OSS_ACCESS_KEY_IDおよびOSS_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。 
    provider, err := oss.NewEnvironmentVariableCredentialsProvider()
    if err! =nil {
        fmt.Println("Error:", err)
        os.Exit(-1)
    }

    // Create an OSSClient instance. 
    // バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントをhttps://oss-cn-hangzhou.aliyuncs.comに設定します。 実際のエンドポイントを指定します。 
    client, err := oss.New("yourEndpoint", ", " ", ", oss.SetCredentialsProvider(&provider))
    if err! =nil {
        fmt.Println("Error:", err)
        os.Exit(-1)
    }

    // examplebucketという名前のバケットを作成します。 ストレージクラスをIA (oss.StorageIA) 、ACLをpublic-read (oss.ACLPublicRead) 、冗長タイプをZRS (oss.RedundancyZRS) に設定します。 
    err = client.CreateBucket("examplebucket" 、oss.StorageClass(oss.StorageIA) 、oss.ACL(oss.ACLPublicRead) 、oss.RedundancyType(oss.RedundancyZRS))
    if err! =nil {
        fmt.Println("Error:", err)
        os.Exit(-1)
    }
} 
id<OSSCredentialProvider> credentialProvider = [[OSSAuthCredentialProvider alloc] initWithAuthServerUrl:@ "<StsServer>"];
OSSClientConfiguration * cfg = [[OSSClientConfiguration alloc] init];
cfg.maxRetryCount = 3;
cfg.timeoutIntervalForRequest = 15;

// OSSClientインスタンスがリリースされると、セッション内のすべてのタスクがキャンセルされ、セッションは無効になります。 リクエストが完了する前に、OSSClientインスタンスがリリースされていないことを確認してください。 
// バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントをhttps://oss-cn-hangzhou.aliyuncs.comに設定します。 
OSSClient * client = [[OSSClient alloc] initWithEndpoint:@ "Endpoint" credentialProvider:credentialProvider clientConfiguration:cfg];

OSSReateBucketRequest * create = [OSSReateBucketRequest new];
// バケット名をexamplebucketに設定します。 
create.bucketName = @ "examplebucket";
// バケットのアクセス制御リスト (ACL) をprivateに設定します。 
. xOssACL = @ "private" を作成します。// バケットのストレージクラスを低頻度アクセス (IA) に設定します。 
create.storageClass = OSSBucketStorageClassIA;

OSSTask * createTask = [client createBucket:create];

[createTask continueWithBlock:^ id(OSSTask * task) {
    if (!task.error) {
        NSLog(@ "create bucket success!");
    } else {
        NSLog(@ "create bucket failed, error: % @", task.error);
    }
    nilを返します。}]; 
#include <alibabacloud/oss/OssClient.h>
名前空間listaCloud::OSSを使用します。int main(void)
{
    /* OSSへのアクセスに使用されるアカウントに関する情報を初期化します。 */
    
    /* バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントをhttps://oss-cn-hangzhou.aliyuncs.comに設定します。 */
    std::string Endpoint = "yourEndpoint";
    /* バケットの名前を指定します。 例: examplebucket. */
    std::string BucketName = "examplebucket";

    /* ネットワークリソースなどのリソースを初期化します。 */
    InitializeSdk();

    ClientConfiguration conf;
    /* 環境変数からアクセス資格情報を取得します。 サンプルコードを実行する前に、OSS_ACCESS_KEY_IDおよびOSS_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。 */
    auto credentialsProvider = std::make_shared<EnvironmentVariableCredentialsProvider>();
    OssClientクライアント (Endpoint, credentialsProvider, conf);

    /* バケットの名前、ストレージクラス、およびアクセス制御リスト (ACL) を指定します。 */
    CreateBucketRequestリクエスト (BucketName、StorageClass::IA、CannedAccessControlList::PublicReadWrite);
    /* バケットの冗長タイプをゾーン冗長ストレージ (ZRS) に設定します。 */
    // request.setDataRedundancyType(DataRedundancyType::ZRS);

    /* バケットを作成します。 */
    auto outcome = client.CreateBucket (リクエスト);

    if (!outcome.isSuccess()) {
        /* 例外を処理します。 */
        std::cout << "CreateBucket fail" <<
        ",code:" << outcome.error().Code() <<
        ",message:" << outcome.error().Message() <<
        ",requestId:" << outcome.error().RequestId() << std::endl;
        return -1;
    }

    /* ネットワークリソースなどのリソースをリリースします。 */
    ShutdownSdk();
    0を返します。} 
#include "oss_api.h"
# 「aos_http_io.h」を含める
/* バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントをhttps://oss-cn-hangzhou.aliyuncs.comに設定します。 * /
const char * endpoint = "yourEndpoint";
/* バケットの名前を指定します。 例: examplebucket. * /
const char * bucket_name = "examplebucket";

void init_options(oss_request_options_t * オプション)
{
    options->config = oss_config_create(options->pool);
    /* char * stringを使用して、aos_string_t型のデータを初期化します。 */
    aos_str_set(&options->config->endpoint, endpoint);
    /* 環境変数からアクセス資格情報を取得します。 サンプルコードを実行する前に、OSS_ACCESS_KEY_IDおよびOSS_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。 */  
    aos_str_set(&options->config->access_key_id, getenv("OSS_ACCESS_KEY_ID"));
    aos_str_set(&options->config->access_key_secret, getenv("OSS_ACCESS_KEY_SECRET"));
    /* CNAMEを使用してOSSにアクセスするかどうかを指定します。 値0は、CNAMEが使用されないことを示す。  */
    options->config->is_cname = 0;
    /* タイムアウト期間などのネットワークパラメーターを設定します。 */
    options->ctl = aos_http_controller_create(options->pool, 0);
}
int main(int argc, char * argv[])
{
    /* main() でaos_http_io_initializeメソッドを呼び出して、ネットワークリソースやメモリリソースなどのグローバルリソースを初期化します。  */
    if (aos_http_io_initialize(NULL, 0))! =AOSE_OK) {
        exit(1);
    }
    /* メモリを管理するためのメモリプールを作成します。 aos_pool_tはapr_pool_tと同じです。 メモリプールの作成に使用されるコードは、APRライブラリに含まれています。 */
    aos_pool_t *pool;
    /* メモリプールを作成します。 2番目のパラメーターの値はNULLです。 この値は、プールが他のメモリプールを継承しないことを指定します。 */
    aos_pool_create(&pool, NULL);
    /* Create and initialize options. このパラメーターには、エンドポイント、access_key_id、access_key_secret、is_cname、curlなどのグローバル構成情報が含まれます。 */
    oss_request_options_t *oss_client_options;
    /* メモリプール内のメモリリソースをオプションに割り当てます。 */
    oss_client_options = oss_request_options_create(pool);
    /* oss_client_optionsを初期化します。 */
    init_options(oss_client_options);
    /* パラメーターを初期化します。 */
    aos_string_t bucket;
    oss_acl_e oss_acl = OSS_ACL_PRIVATE;
    aos_table_t *resp_headers = NULL; 
    aos_status_t *resp_status = NULL; 
    /* char * dataをaos_string_t型のバケットに割り当てます。  */
    aos_str_set(&bucket, bucket_name);
    /* バケットを作成します。 */
    resp_status = oss_create_bucket(oss_client_options, &bucket, oss_acl, &resp_headers);
    /* バケットが作成されたかどうかを確認します。  */
    if (aos_status_is_ok(resp_status)) {
        printf("create bucket succeeded\n");
    } else {
        printf("create bucket failed\n");
    }
    /* メモリプールを解放します。 この操作により、リクエストに割り当てられたメモリリソースが解放されます。 */
    aos_pool_destroy(pool);
    /* 割り当てられたグローバルリソースを解放します。  */
    aos_http_io_deinitialize();
    0を返します。} 
'aliyun/oss' が必要です
client = Aliyun::OSS::Client.new (
  # この例では、中国 (杭州) リージョンのエンドポイントが使用されます。 実際のエンドポイントを指定します。 
  エンドポイント: 'https:// oss-cn-hangzhou.aliyuncs.com '、
  # 環境変数からアクセス資格情報を取得します。 サンプルコードを実行する前に、OSS_ACCESS_KEY_IDおよびOSS_ACCESS_KEY_SECRET環境変数が設定されていることを確認してください。 
  access_key_id: ENV['OSS_ACCESS_KEY_ID '] 、
  access_key_secret: ENV['OSS_ACCESS_KEY_SECRET ']
)
# バケットの名前を指定します。 例: examplebucket. 
client.create_bucket('examplebucket') 

ossutilの使用

ossutilを使用してバケットを作成できます。 詳細については、「mb (バケットの作成) 」をご参照ください。

OSS APIの使用

ビジネスで高度なカスタマイズが必要な場合は、RESTful APIを直接呼び出すことができます。 APIを直接呼び出すには、コードに署名計算を含める必要があります。 詳細については、「PutBucket」をご参照ください。

次のステップ

  • オブジェクト管理

    • オブジェクトのアップロード

      バケットを作成したら、オブジェクトをバケットにアップロードできます。 オブジェクトのアップロード方法の詳細については、「簡易アップロード」をご参照ください。

    • オブジェクトのダウンロード

      オブジェクトをバケットにアップロードした後、ブラウザのデフォルトのダウンロードパスまたはカスタムローカルパスにオブジェクトをダウンロードできます。 オブジェクトのダウンロード方法の詳細については、「簡易ダウンロード」をご参照ください。

    • オブジェクトの共有

      ダウンロードまたはプレビューにオブジェクトURLを使用して、ユーザーとオブジェクトを共有できます。 オブジェクトの共有方法の詳細については、「オブジェクトの共有」をご参照ください。

  • アクセス制御

    セキュリティ上の理由から、OSSリソースのデフォルトACLはプライベートです。 ACLが非公開のリソースにアクセスできるのは、所有者と許可されたユーザーのみです。 OSSでは、さまざまなポリシーを設定して、OSSリソースにアクセスまたは使用する権限をユーザーに付与できます。 アクセス制御の詳細については、「概要」をご参照ください。