判断bucket 是否存在
更新时间:2024-04-09
判断Bucket是否存在
若用户需要判断某个Bucket是否存在,则如下代码可以做到:
Plain Text
1void test_head_bucket(bos_request_options_t *options, bos_string_t bucket, bos_table_t *resp_headers) {
2 bos_status_t *status = NULL;
3 status = bos_head_bucket(options, &bucket, &resp_headers);
4 print_headers(resp_headers);
5 if (bos_status_is_ok(status)) {
6 printf("head bucket succeeded\n");
7 } else {
8 printf("head bucket failed\n");
9 }
10 bos_bucket_exist_status_e bucket_exist;
11 status = bos_check_bucket_exist(options, &bucket, &bucket_exist, &resp_headers);
12 if (bucket_exist == BOS_BUCKET_NON_EXIST) {
13 printf("bucket: %.*s non exist.\n", bucket.len, bucket.data);
14 } else if (bucket_exist == BOS_BUCKET_EXIST) {
15 printf("bucket: %.*s exist.\n", bucket.len, bucket.data);
16 } else {
17 printf("bucket: %.*s unknown status.\n", bucket.len, bucket.data);
18 log_status(status);
19 }
20}
注意: 如果Bucket不为空(即Bucket中有Object存在),则Bucket无法被删除,必须清空Bucket后才能成功删除。