对象存储BOS

    Bucket管理

    新建Bucket

    • 基本流程

      1. 创建BosClient。
      2. 执行createBucket()方法,你需要提供Bucket的名字。
    • 示例代码

      let newBucketName = <BucketName>;    // 新建一个Bucket,指定Bucket名称
      client.createBucket(newBucketName)
        .then(function() {
                 // 创建完成,添加您自已的代码;
        })
        .catch(function(error) {
                // 创建失败,添加您自己的代码,处理异常
        });

      注意: 由于Bucket的名称在所有区域中是唯一的,所以需要保证BucketName不与其他所有区域上的BucketName相同。

    查看Bucket列表

    • 基本流程

      1. 创建BosClient。
      2. 执行listBuckets()方法。
    • 示例代码

      如下代码可以列出用户所有的Bucket:

      client.listBuckets()
        .then(function(response) {
            (response.body.buckets || []).forEach(function (bucket) { console.log(bucket.name) })
            })
        .catch(function() {
            // 查询失败,添加您自己的代码,处理异常
        });

    判断Bucket是否存在

    • 基本流程

      1. 创建BosClient。
      2. 执行doesBucketExist()方法。
    • 示例代码

      client.doesBucketExist(<BucketName>)             //指定Bucket名称
        .then(function(response) {
            if(response) {
                console.log('Bucket exists');
            }
            else {
                console.log('Bucket not exists');
            }
        })
        .catch(function() {
            // 查询失败,添加您自己的代码,处理异常
        });

    删除Bucket

    • 基本流程

      1. 创建BosClient。
      2. 执行deleteBucket()方法。
    • 示例代码

      client.deleteBucket(<BucketName>)
        .then(function() {
            // 删除完成
        })
        .catch(function(error) {
            // 删除失败
        });

      注意:如果Bucket不为空(即Bucket中有Object和未完成的三步上传Part存在),则Bucket无法被删除,必须清空Bucket后才能成功删除。

    Bucket权限控制

    设置Bucket的访问权限

    • 基本流程

      1. 创建BosClient。
      2. 执行setBucketAcl()方法。
    • 示例代码

      // 设置Bucket访问权限为private
      client.setBucketCannedAcl(<BucketName>, 'private')
        .then(function() {
            // 设置完成
        })
        .catch(function(error) {
            // 设置失败
        });

      说明: Bucket访问权限包含三个值: privatepublic-readpublic-read-write ,它们分别对应相关权限。具体内容可以参考《BOS API文档 使用CannedAcl方式的权限控制》。

    设置指定用户对Bucket的访问权限

    • 基本流程

      1. 创建BosClient。
      2. 执行setBucketAcl()方法。
    • 示例代码

      let grant_list = [
        {
            'grantee': [
                {'id': <UserID1>},           // 授权给特定用户1
                {'id': <UserID2>},           // 授权给特定用户2
            ],
            'permission': ['FULL_CONTROL']   // 设置权限为FULL_CONTROL
        },
        {
            'grantee': [
                {'id': <UserID3>}           // 授权给特定用户3
            ],
            'permission': ['READ']         // 设置权限为READ
        }
      ];
      client.setBucketAcl(<BucketName>, grant_list)
        .then(function() {
            // 设置完成
        })
        .catch(function(error) {
            // 设置失败
        });

      注意:Permission中的权限设置包含三个值:READWRITEFULL_CONTROL,它们分别对应相关权限。具体内容可以参考《BOS API文档 上传ACL文件方式的权限控制》。

    上一篇
    初始化
    下一篇
    文件管理