A bucket is a container for objects in Object Storage Service (OSS). All objects must be stored in a bucket. You can use the OSS C++ SDK V2 to create a bucket.
Usage notes
-
Before you run the sample code, replace
<region>with a valid region, such ascn-hangzhou. -
The sample code uses environment variables to obtain access credentials. For more information, see Configure access credentials.
-
To create a bucket, you must have the
oss:PutBucketpermission. -
Each Alibaba Cloud account can create up to 100 buckets per region.
Sample code
Create a bucket
The following sample code creates a bucket with the default configuration:
#include <iostream>
#include "alibabacloud/oss2/ClientConfiguration.h"
#include "alibabacloud/oss2/OSSClient.h"
#include "alibabacloud/oss2/credentials/CredentialsProvider.h"
namespace oss = alibabacloud::oss2;
int main() {
auto conf = oss::ClientConfiguration::loadDefault();
conf.region = "<region>";
conf.credentialsProvider = std::make_shared<oss::EnvironmentVariableCredentialsProvider>();
oss::OSSClient client(conf);
auto outcome = client.putBucket(
oss::models::PutBucketRequest()
.setBucket("examplebucket"));
if (!outcome.has_value()) {
auto& e = outcome.error();
std::cerr << "Failed to create bucket"
<< ", code: " << e.getCode()
<< ", message: " << e.getMessage()
<< ", requestId: " << e.getRequestId() << std::endl;
return 1;
}
auto& result = outcome.value();
std::cout << "Bucket created successfully"
<< ", status: " << result.getStatusCode()
<< ", requestId: " << result.getRequestId() << std::endl;
return 0;
}
Create a bucket with storage class and ACL
The following sample code creates a bucket with a specified storage class and access control list (ACL):
#include <iostream>
#include "alibabacloud/oss2/ClientConfiguration.h"
#include "alibabacloud/oss2/OSSClient.h"
#include "alibabacloud/oss2/credentials/CredentialsProvider.h"
namespace oss = alibabacloud::oss2;
int main() {
auto conf = oss::ClientConfiguration::loadDefault();
conf.region = "<region>";
conf.credentialsProvider = std::make_shared<oss::EnvironmentVariableCredentialsProvider>();
oss::OSSClient client(conf);
auto outcome = client.putBucket(
oss::models::PutBucketRequest()
.setBucket("examplebucket")
.setAcl("public-read")
.setCreateBucketConfiguration(
oss::models::CreateBucketConfiguration()
.setStorageClass("IA")));
if (!outcome.has_value()) {
auto& e = outcome.error();
std::cerr << "Failed to create bucket"
<< ", code: " << e.getCode()
<< ", message: " << e.getMessage()
<< ", requestId: " << e.getRequestId() << std::endl;
return 1;
}
auto& result = outcome.value();
std::cout << "Bucket created successfully"
<< ", status: " << result.getStatusCode()
<< ", requestId: " << result.getRequestId() << std::endl;
return 0;
}
References
-
For the complete sample code, see PutBucket.cpp.
该文章对您有帮助吗?