tencent cloud

文档反馈

删除存储桶

最后更新时间:2024-01-22 11:07:56

    简介

    本文档提供关于删除存储桶的 API 概览以及 SDK 示例代码。
    API
    操作名
    操作描述
    删除存储桶
    删除指定账号下的空存储桶

    删除存储桶

    功能说明

    删除指定的存储桶(DELETE Bucket)。
    注意
    删除存储桶前,请确保存储桶内的数据和未完成上传的分块数据已全部清空,否则会无法删除存储桶。

    示例代码

    方法原型

    public Guzzle\\Service\\Resource\\Model deleteBucket(array $args = array());

    请求示例

    <?php
    
    require dirname(__FILE__) . '/../vendor/autoload.php';
    
    $secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.tencentcloud.com/cam/capi
    $secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.tencentcloud.com/cam/capi
    $region = "ap-beijing"; //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.tencentcloud.com/cos5/bucket
    $cosClient = new Qcloud\\Cos\\Client(
    array(
    'region' => $region,
    'schema' => 'https', //协议头部,默认为http
    'credentials'=> array(
    'secretId' => $secretId ,
    'secretKey' => $secretKey)));
    
    try {
    $result = $cosClient->deleteBucket(array(
    'Bucket' => 'examplebucket-125000000' //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.tencentcloud.com/cos5/bucket
    ));
    // 请求成功
    print_r($result);
    } catch (\\Exception $e) {
    // 请求失败
    echo($e);
    }

    参数说明

    参数名称
    父节点
    描述
    类型
    Bucket
    存储桶名称,格式:BucketName-APPID
    String

    删除所有存储桶

    功能说明

    删除所有的存储桶(DELETE Buckets)。

    示例代码

    方法原型

    public Guzzle\\Service\\Resource\\Model deleteBuckets(array $args = array());

    请求示例

    <?php
    
    require dirname(__FILE__) . '/../vendor/autoload.php';
    
    $secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.tencentcloud.com/cam/capi
    $secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.tencentcloud.com/cam/capi
    $region = "ap-beijing"; //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.tencentcloud.com/cos5/bucket
    $cosClient = new Qcloud\\Cos\\Client(
    array(
    'region' => $region,
    'schema' => 'https', //协议头部,默认为http
    'credentials'=> array(
    'secretId' => $secretId ,
    'secretKey' => $secretKey)));
    try {
    //列出所有buckets
    $buckets = $cosClient->listBuckets();
    
    //若bucket列表不为空则进行删除逻辑,先删除对象,再判断是否有上传的任务进行删除,最后删除桶
    //可以在foreach中添加exclude逻辑(如建立一个需保留的桶数组),保留无需保留的桶
    if (!empty($buckets['Buckets'][0])) {
    foreach ($buckets['Buckets'][0]['Bucket'] as $key => $value) {
    $result = $cosClient->listObjects(array('Bucket' => $value['Name']));
    if (isset($result['Contents'])) {
    foreach ($result['Contents'] as $content) {
    $cosClient->deleteObject(array('Bucket' => $value['Name'], 'Key' => $content['Key']));
    }
    }
    while(True){
    $result = $cosClient->ListMultipartUploads(
    array('Bucket' => $value['Name']));
    if ($result['Uploads'] == array()) {
    break;
    }
    foreach ($result['Uploads'] as $upload) {
    try {
    $cosClient->AbortMultipartUpload(
    array('Bucket' => $value['Name'],
    'Key' => $upload['Key'],
    'UploadId' => $upload['UploadId']));
    } catch (\\Exception $e) {
    print_r($e);
    }
    }
    }
    $cosClient->deleteBucket(array('Bucket' => $value['Name']));
    }
    }
    print_r('DELETE ALL BUCKETS SUCCEED!');
    } catch (\\Exception $e) {
    // 请求失败
    echo($e);
    }

    参数说明

    参数名称
    父节点
    描述
    类型
    Bucket
    存储桶名称,格式:BucketName-APPID
    String
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持