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