设置存储空间的访问权限
详细解答可以参考官方帮助文档用户可以设置存储空间的访问权限,允许或者禁止匿名用户对其内容进行读写。
获取存储空间的访问权限(ACL)
通过oss_get_bucket_acl接口,可以实现查看存储空间的ACL:
aos_pool_t *p;
oss_request_options_t *options;
char *bucket_name = '';
aos_string_t bucket;
aos_table_t *resp_headers;
aos_status_t *s;
char *oss_acl;
aos_pool_create(&p, NULL);
/* 创建并初始化options */
options = oss_request_options_create(p);
init_options(options);
/* 初始化参数 */
aos_str_set(&bucket, bucket_name);
/* 获取存储空间访问权限 */
s = oss_get_bucket_acl(options, &bucket,& oss_acl, &resp_headers);
if (aos_status_is_ok(s)) {
printf('get bucket acl succeeded\n');
} else {
printf('get bucket acl failed\n');
}
aos_pool_destroy(p);
设置存储空间的访问权限(ACL)
通过oss_create_bucket接口,可以实现设置存储空间的ACL:
aos_pool_t *p;
oss_request_options_t *options;
oss_acl_e oss_acl = OSS_ACL_PRIVATE;
char *bucket_name = '';
aos_string_t bucket;
aos_table_t *resp_headers;
aos_status_t *s;
aos_pool_create(&p, NULL);
/* 创建并初始化options */
options = oss_request_options_create(p);
init_options(options);
/* 初始化参数 */
aos_str_set(&bucket, bucket_name);
/* 设置存储空间访问权限 */
s = oss_put_bucket_acl(options, &bucket, oss_acl, &resp_headers);
if (aos_status_is_ok(s)) {
printf('put bucket acl succeeded\n');
} else {
printf('put bucket acl failed\n');
}
aos_pool_destroy(p);
注:
操作者必须是Bucket的拥有者,否则不允许设置该存储空间的访问权限。
存储空间的访问权限oss_acl_e是一个枚举值,可选值包括:OSS_ACL_PRIVATE、OSS_ACL_PUBLIC_READ、OSS_ACL_PUBLIC_READ_WRITE
赞0
踩1