API | Operation | Description |
Querying bucket list | Queries the list of all buckets under a specified account | |
Creating a bucket | Creates bucket under a specified account | |
Checking a bucket and its permission | Checks whether a bucket exists and you have permission to access it | |
Deleting a bucket | Deletes an empty bucket under the specified account |
CosResult GetService(const GetServiceReq& request, GetServiceResp* response)
qcloud_cos::CosConfig config("./config.json");qcloud_cos::CosAPI cos(config);std::string bucket_name = "examplebucket-1250000000"; // Replace it with your bucket name, which is in the format of BucketName-APPID (APPID is required). It can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket.qcloud_cos::GetServiceReq req;qcloud_cos::GetServiceResp resp;qcloud_cos::CosResult result = cos.GetService(req, &resp);// The call is successful. You can call the resp member functions to get the return content.if (result.IsSucc()) {const qcloud_cos::Owner& owner = resp.GetOwner();const std::vector<qcloud_cos::Bucket>& buckets = resp.GetBuckets();std::cout << "owner.m_id=" << owner.m_id << ", owner.display_name=" << owner.m_display_name << std::endl;for (std::vector<qcloud_cos::Bucket>::const_iterator itr = buckets.begin(); itr != buckets.end(); ++itr) {const qcloud_cos::Bucket& bucket = *itr;std::cout << "Bucket name=" << bucket.m_name << ", location="<< bucket.m_location << ", create_date=" << bucket.m_create_date << std::endl;}} else {// You can call the CosResult member functions to output the error information, such as requestID}
Parameter | Description | Type | Required |
req | Request of the GetService operation | GetServiceReq | Yes |
resp | Response of the GetService operation | GetServiceResp | Yes |
GetServiceResp
provides the following member functions to obtain the specific content (in XML format) returned by Get Service
. // Get bucket owner informationOwner GetOwner() const;// Get list information for all bucketsstd::vector<Bucket> GetBuckets() const
struct Owner {std::string m_id; // ID of the bucket ownerstd::string m_display_name; // Bucket owner name};
// Describe the information of a single bucketstruct Bucket {std::string m_name; // Bucket namestd::string m_location; // Bucket regionstd::string m_create_date; // Bucket creation time in ISO 8601 format, such as 2016-11-09T08:46:32.000Z};
CosResult PutBucket(const PutBucketReq& req, PutBucketResp* resp)
qcloud_cos::CosConfig config("./config.json");qcloud_cos::CosAPI cos(config);std::string bucket_name = "examplebucket-1250000000"; // Replace it with your bucket name, which is in the format of BucketName-APPID (APPID is required). It can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket.qcloud_cos::PutBucketReq req(bucket_name);// Set an MAZ bucket as follows//req.SetMAZBucket();qcloud_cos::PutBucketResp resp;qcloud_cos::CosResult result = cos.PutBucket(req, &resp);// The call is successful. You can call the resp member functions to get the return content.if (result.IsSucc()) {// ...} else {// You can call the CosResult member functions to output the error information, such as requestID}
Parameter | Description | Type | Required |
req | Request of the PutBucket operation | PutBucketReq | Yes |
resp | Response of the PutBucket operation | PutBucketResp | Yes |
PutBucketReq
provides the following member functions:// Define the ACL attribute of the bucket. Valid values: private, public-read-write, public-read// Default: privatevoid SetXCosAcl(const std::string& str);// Grant read permission in the format of x-cos-grant-read: id=" ",id=" ".// To authorize a sub-account, use id="qcs::cam::uin/<OwnerUin>:uin/<SubUin>".// To authorize the root account, use id="qcs::cam::uin/<OwnerUin>:uin/<OwnerUin>".void SetXCosGrantRead(const std::string& str);// Grant write permission in the format: x-cos-grant-write: id=" ",id=" "./// To authorize a sub-account, use id="qcs::cam::uin/<OwnerUin>:uin/<SubUin>",// To authorize the root account, use id="qcs::cam::uin/<OwnerUin>:uin/<OwnerUin>".void SetXCosGrantWrite(const std::string& str);// Grant read-write permission in the format: x-cos-grant-full-control: id=" ",id=" ".// To authorize a sub-account, use id="qcs::cam::uin/<OwnerUin>:uin/<SubUin>".// To authorize the root account, use id="qcs::cam::uin/<OwnerUin>:uin/<OwnerUin>".void SetXCosGrantFullControl(const std::string& str);
CosResult HeadBucket(const HeadBucketReq& req, HeadBucketResp* resp)
qcloud_cos::CosConfig config("./config.json");qcloud_cos::CosAPI cos(config);std::string bucket_name = "examplebucket-1250000000"; // Replace it with your bucket name, which is in the format of BucketName-APPID (APPID is required). It can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket.qcloud_cos::HeadBucketReq req(bucket_name);qcloud_cos::HeadBucketResp resp;qcloud_cos::CosResult result = cos.HeadBucket(req, &resp);// The call is successful. You can call the resp member functions to get the return content.if (result.IsSucc()) {// ...} else {// You can call the CosResult member functions to output the error information, such as requestID}
Parameter | Description | Type | Required |
req | Request of the HeadBucket operation | HeadBucketReq | Yes |
resp | Response of the HeadBucket operation | HeadBucketResp | Yes |
CosResult DeleteBucket(const DeleteBucketReq& req, DeleteBucketResp* resp)
qcloud_cos::CosConfig config("./config.json");qcloud_cos::CosAPI cos(config);std::string bucket_name = "examplebucket-1250000000"; // Bucket name in the format of BucketName-APPID (APPID is required), which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket. Replace it with your bucket name.// The bucket_name is required in the constructor of DeleteBucketReqqcloud_cos::DeleteBucketReq req(bucket_name);qcloud_cos::DeleteBucketResp resp;qcloud_cos::CosResult result = cos.DeleteBucket(req, &resp);// The call is successful. You can call the resp member functions to get the return content.if (result.IsSucc()) {// ...} else {// You can call the CosResult member functions to output the error information, such as requestID}
Parameter | Description | Type | Required |
req | Request of the DeleteBucket operation | DeleteBucketReq | Yes |
resp | Response of the DeleteBucket operation | DeleteBucketResp | Yes |
Was this page helpful?