You need to enable JavaScript to run this app.
导航

创建桶(C++ SDK)

最近更新时间2024.02.04 18:30:55

首次发布时间2022.04.08 10:56:29

桶(Bucket)是 TOS 的全局唯一的命名空间,相当于数据的容器,用来储存对象(Object)数据。提供给用户按指定桶名创建新桶,新创建的桶名在 TOS 中必须是唯一的。本文介绍如何创建桶。

注意事项

  • 存储桶命名规范如下:
    • 只能包括小写字母 a~z、数字和短横线(-)。
    • 开头和结尾只能是数字或字母。
    • 长度必须在 3~63 个字符之间。
  • 通过与 TOS 同地域的其他火山引擎产品访问 TOS 时,推荐您使用内网 Endpoint。关于地域和 Endpoint 的更多信息,请参见地域和访问域名
  • 创建存储桶前,您需要确保账号拥有 tos:CreateBucket 权限。您可以通过 IAM 策略授予相应权限,具体步骤,请参见 IAM 策略

示例代码

以下代码用于创建名为 examplebucket 桶。

#include "TosClientV2.h"
using namespace VolcengineTos;

int main(void){
    // 初始化 TOS 账号信息
    // Your Region 填写 Bucket 所在 Region
    std::string region = "Your Region";
    std::string accessKey = std::getenv("TOS_ACCESS_KEY");
    std::string secretKey = std::getenv("TOS_SECRET_KEY");
    // 填写 Bucket 名称,例如 examplebucket
    std::string bucketName = "examplebucket";
    
    // 初始化网络等资源
    InitializeClient();
    // 创建交互的 client
    TosClientV2 client(region, accessKey, secretKey);
    
    CreateBucketV2Input input(bucketName);
    
    // 如果创建桶的同时需要指定桶访问权限、数据容灾类型、存储类型,请参考如下代码:
    // 设置桶的访问权限为公共读,默认为私有。
    // input.setAcl(ACLType::PublicRead);
    // 设置桶的数据容灾为多 AZ 冗余存储,默认为单 AZ 冗余存储
    // input.setAzRedundancy(AzRedundancyType::MultiAz);
    // 设置桶的存储类型为标准存储。
    // input.setStorageClass(StorageClassType::STANDARD);
    
    // 创建桶
    auto output = client.createBucket(input);
    if (!output.isSuccess()) {
        // 异常处理
        std::cout << "CreateBucket failed." << output.error().String() << std::endl;
        // 释放网络等资源
        CloseClient();
        return -1;
    }

    std::cout << "CreateBucket Success, the bucket location:" << output.result().getLocation() << std::endl;

    // 释放网络等资源
    CloseClient();
    return 0;
}

相关文档

关于创建桶的 API 文档,请参见 CreateBucket