判断Bucket是否存在
更新时间:2022-10-08
判断Bucket是否存在
若用户需要判断某个Bucket是否存在,则如下代码可以做到:
C++
1//0 表示check成功,bucket存在
2//-1不存在
3//other其他错误,具体error-message给出
4int checkBucketExist (Client& client, const std::string& bucketName) {
5 bool exist = false;
6 // 获取Bucket的存在信息
7 HeadBucketRequest request(bucketName);
8 HeadBucketResponse response;
9 int ret = client.head_bucket(request, &response);
10 if (response.is_fail() && response.status_code() != 404){
11 printf("error-message:%s\n", response.error().message().c_str());
12 return ret;
13 } else if (response.status_code() == 404){
14 return -1;
15 }
16 //200 ok
17 return 0;
18}
注意: 如果Bucket不为空(即Bucket中有Object存在),则Bucket无法被删除,必须清空Bucket后才能成功删除。