tencent cloud

文档反馈

存储桶操作

最后更新时间:2024-01-19 11:57:11

    简介

    本文档提供关于存储桶基本操作的相关 API 概览以及 SDK 示例代码。
    API
    操作名
    操作描述
    查询存储桶列表
    查询指定账号下所有的存储桶列表
    创建存储桶
    在指定账号下创建一个存储桶
    检索存储桶及其权限
    检索存储桶是否存在且是否有权限访问
    删除存储桶
    删除指定账号下的空存储桶

    SDK API 参考

    SDK 所有接口的具体参数与方法说明,请参考 SDK API

    查询存储桶列表

    功能说明

    用于查询指定账号下所有存储桶列表。

    示例代码

    Objective-C
    // 获取所属账户的所有存储空间列表的方法
    QCloudGetServiceRequest* request = [[QCloudGetServiceRequest alloc] init];
    [request setFinishBlock:^(QCloudListAllMyBucketsResult* result,
    NSError* error) {
    
    // 从 result 中获取返回信息 存储桶列表
    NSArray<QCloudBucket*> *buckets = result.buckets;
    
    // bucket owner的信息
    QCloudOwner *owner = result.owner;
    }];
    [[QCloudCOSXMLService defaultCOSXML] GetService:request];
    说明
    更多完整示例,请前往 GitHub 查看。
    Swift
    // 获取所属账户的所有存储空间列表的方法.
    let getServiceReq = QCloudGetServiceRequest.init();
    getServiceReq.setFinish{(result,error) in
    if let result = result {
    let buckets = result.buckets
    let owner = result.owner
    } else {
    print(error!);
    }
    }
    QCloudCOSXMLService.defaultCOSXML().getService(getServiceReq);
    说明
    更多完整示例,请前往 GitHub 查看。

    创建存储桶

    功能说明

    创建一个存储桶(PUT Bucket)。

    示例代码

    Objective-C
    // 创建存储桶
    QCloudPutBucketRequest* request = [QCloudPutBucketRequest new];
    
    // 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.tencentcloud.com/cos5/bucket
    request.bucket = @"examplebucket-1250000000";
    
    [request setFinishBlock:^(id outputObject, NSError* error) {
    // 可以从 outputObject 中获取服务器返回的 header 信息
    NSDictionary* info = (NSDictionary *) outputObject;
    }];
    [[QCloudCOSXMLService defaultCOSXML] PutBucket:request];
    说明
    更多完整示例,请前往 GitHub 查看。
    Swift
    // 创建存储桶
    let putBucketReq = QCloudPutBucketRequest.init();
    
    // 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.tencentcloud.com/cos5/bucket
    putBucketReq.bucket = "examplebucket-1250000000";
    putBucketReq.finishBlock = {(result,error) in
    // 可以从 result 中获取服务器返回的 header 信息
    if error != nil {
    print(error!);
    } else {
    print(result!);
    }
    }
    QCloudCOSXMLService.defaultCOSXML().putBucket(putBucketReq);
    说明
    更多完整示例,请前往 GitHub 查看。

    检索存储桶及其权限

    功能说明

    HEAD Bucket 请求可以确认该存储桶是否存在,是否有权限访问。有以下几种情况:
    存储桶存在且有读取权限,返回 HTTP 状态码为200。
    无存储桶读取权限,返回 HTTP 状态码为403。
    存储桶不存在,返回 HTTP 状态码为404。

    示例代码

    Objective-C
    QCloudHeadBucketRequest* request = [QCloudHeadBucketRequest new];
    
    // 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.tencentcloud.com/cos5/bucket
    request.bucket = @"examplebucket-1250000000";
    
    [request setFinishBlock:^(id outputObject, NSError* error) {
    // 可以从 outputObject 中获取服务器返回的 header 信息
    NSDictionary * result = (NSDictionary *)outputObject;
    
    }];
    [[QCloudCOSXMLService defaultCOSXML] HeadBucket:request];
    说明
    更多完整示例,请前往 GitHub 查看。
    Swift
    let headBucketReq = QCloudHeadBucketRequest.init();
    
    // 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.tencentcloud.com/cos5/bucket
    headBucketReq.bucket = "examplebucket-1250000000";
    
    headBucketReq.finishBlock = {(result,error) in
    if let result = result {
    // result 包含响应的 header 信息
    } else {
    print(error!);
    }
    }
    QCloudCOSXMLService.defaultCOSXML().headBucket(headBucketReq);
    说明
    更多完整示例,请前往 GitHub 查看。

    判断存储桶是否存在

    功能说明

    您可以通过 SDK 提供的快捷接口来判断 Bucket 是否存在

    示例代码

    Objective-C
    // 存储桶名称,格式为 BucketName-APPID
    [[QCloudCOSXMLService defaultCOSXML] doesBucketExist: @"examplebucket-1250000000"];
    说明
    更多完整示例,请前往 GitHub 查看。
    Swift
    // 存储桶名称,格式为 BucketName-APPID
    QCloudCOSXMLService.defaultCOSXML().doesBucketExist("examplebucket-1250000000");
    说明
    更多完整示例,请前往 GitHub 查看。

    删除存储桶

    功能说明

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

    示例代码

    Objective-C
    QCloudDeleteBucketRequest* request = [[QCloudDeleteBucketRequest alloc ] init];
    
    // 存储桶名称,命名格式:BucketName-APPID
    request.bucket = @"examplebucket-1250000000";
    
    [request setFinishBlock:^(id outputObject,NSError*error) {
    // 可以从 outputObject 中获取服务器返回的 header 信息
    NSDictionary* info = (NSDictionary *) outputObject;
    }];
    [[QCloudCOSXMLService defaultCOSXML] DeleteBucket:request];
    说明
    更多完整示例,请前往 GitHub 查看。
    Swift
    let deleteBucketReq = QCloudDeleteBucketRequest.init();
    
    // 存储桶名称,命名格式:BucketName-APPID
    deleteBucketReq.bucket = "examplebucket-1250000000";
    
    deleteBucketReq.finishBlock = {(result,error) in
    if let result = result {
    // result 包含响应的 header 信息
    } else {
    print(error!);
    }
    }
    QCloudCOSXMLService.defaultCOSXML().deleteBucket(deleteBucketReq);
    说明
    更多完整示例,请前往 GitHub 查看。
    联系我们

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

    技术支持

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

    7x24 电话支持