全部产品
阿里云办公

管理Bucket

更新时间:2018-08-17 21:35:47

管理存储空间

存储空间(Bucket)是存储对象(Object)的容器。对象都隶属于存储空间。

新建存储空间

以下代码用于创建存储空间:

  1. aos_pool_t *p;
  2. oss_request_options_t *options;
  3. oss_acl_e oss_acl = OSS_ACL_PRIVATE;
  4. char *bucket_name = "<您的bucket名字>";
  5. aos_string_t bucket;
  6. aos_table_t *resp_headers;
  7. aos_status_t *s;
  8. aos_pool_create(&p, NULL);
  9. /* 创建并初始化options */
  10. options = oss_request_options_create(p);
  11. init_options(options);
  12. /* 初始化参数 */
  13. aos_str_set(&bucket, bucket_name);
  14. /* 创建存储空间 */
  15. s = oss_create_bucket(options, &bucket, oss_acl, &resp_headers);
  16. if (aos_status_is_ok(s)) {
  17. printf("create bucket succeeded\n");
  18. } else {
  19. printf("create bucket failed\n");
  20. }
  21. aos_pool_destroy(p);

说明:存储空间的命名规范,请参见OSS 基本概念中的命名规范。

删除存储空间

删除存储空间之前,必须先删除存储空间下的所有文件、LiveChannel和分片上传产生的碎片。

说明:要删除分片上传产生的碎片,首先使用Bucket.ListMultipartUploads列举出所有碎片,然后使用Bucket.AbortMultipartUpload删除这些碎片。

以下代码用于删除存储空间:

  1. aos_pool_t *p;
  2. oss_request_options_t *options;
  3. char *bucket_name = "<您的bucket名字>";
  4. aos_string_t bucket;
  5. aos_table_t *resp_headers;
  6. aos_status_t *s;
  7. aos_pool_create(&p, NULL);
  8. /* 创建并初始化options */
  9. options = oss_request_options_create(p);
  10. init_options(options);
  11. /* 初始化参数 */
  12. aos_str_set(&bucket, bucket_name);
  13. /* 删除存储空间 */
  14. s = oss_delete_bucket (options, &bucket, &resp_headers);
  15. if (aos_status_is_ok(s)) {
  16. printf("delete bucket succeeded\n");
  17. } else {
  18. printf("delete bucket failed\n");
  19. }
  20. aos_pool_destroy(p);

存储空间访问权限

您可以设置存储空间的访问权限,允许或者禁止匿名用户对其内容进行读写。

获取存储空间的访问权限

以下代码用于获取存储空间的访问权限:

  1. aos_pool_t *p;
  2. oss_request_options_t *options;
  3. char *bucket_name = "<您的bucket名字>";
  4. aos_string_t bucket;
  5. aos_table_t *resp_headers;
  6. aos_status_t *s;
  7. char *oss_acl;
  8. aos_pool_create(&p, NULL);
  9. /* 创建并初始化options */
  10. options = oss_request_options_create(p);
  11. init_options(options);
  12. /* 初始化参数 */
  13. aos_str_set(&bucket, bucket_name);
  14. /* 获取存储空间访问权限 */
  15. s = oss_get_bucket_acl(options, &bucket,& oss_acl, &resp_headers);
  16. if (aos_status_is_ok(s)) {
  17. printf("get bucket acl succeeded\n");
  18. } else {
  19. printf("get bucket acl failed\n");
  20. }
  21. aos_pool_destroy(p);

设置存储空间的访问权限

以下代码用于设置存储空间的访问权限:

  1. aos_pool_t *p;
  2. oss_request_options_t *options;
  3. oss_acl_e oss_acl = OSS_ACL_PRIVATE;
  4. char *bucket_name = "<您的bucket名字>";
  5. aos_string_t bucket;
  6. aos_table_t *resp_headers;
  7. aos_status_t *s;
  8. aos_pool_create(&p, NULL);
  9. /* 创建并初始化options */
  10. options = oss_request_options_create(p);
  11. init_options(options);
  12. /* 初始化参数 */
  13. aos_str_set(&bucket, bucket_name);
  14. /* 设置存储空间访问权限 */
  15. s = oss_put_bucket_acl(options, &bucket, oss_acl, &resp_headers);
  16. if (aos_status_is_ok(s)) {
  17. printf("put bucket acl succeeded\n");
  18. } else {
  19. printf("put bucket acl failed\n");
  20. }
  21. aos_pool_destroy(p);

说明:

  • 操作者必须是Bucket的拥有者,否则不允许设置该存储空间的访问权限。
  • 存储空间的访问权限oss_acl_e是一个枚举值,可选值包括:OSS_ACL_PRIVATE、OSS_ACL_PUBLIC_READ、OSS_ACL_PUBLIC_READ_WRITE。
本文导读目录