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