简介
本文档提供关于存储桶基本操作的相关 API 概览以及 SDK 示例代码。
API | 操作名 | 操作描述 |
查询存储桶列表 | 查询指定账号下所有的存储桶列表 | |
创建存储桶 | 在指定账号下创建一个存储桶 | |
检索存储桶及其权限 | 检索存储桶是否存在且是否有权限访问 | |
删除存储桶 | 删除指定账号下的空存储桶 |
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];
说明
Swift
// 获取所属账户的所有存储空间列表的方法.let getServiceReq = QCloudGetServiceRequest.init();getServiceReq.setFinish{(result,error) inif let result = result {let buckets = result.bucketslet owner = result.owner} else {print(error!);}}QCloudCOSXMLService.defaultCOSXML().getService(getServiceReq);
说明
创建存储桶
功能说明
创建一个存储桶(PUT Bucket)。
示例代码
Objective-C
// 创建存储桶QCloudPutBucketRequest* request = [QCloudPutBucketRequest new];// 存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucketrequest.bucket = @"examplebucket-1250000000";[request setFinishBlock:^(id outputObject, NSError* error) {// 可以从 outputObject 中获取服务器返回的 header 信息NSDictionary* info = (NSDictionary *) outputObject;}];[[QCloudCOSXMLService defaultCOSXML] PutBucket:request];
说明
Swift
// 创建存储桶let putBucketReq = QCloudPutBucketRequest.init();// 存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucketputBucketReq.bucket = "examplebucket-1250000000";putBucketReq.finishBlock = {(result,error) in// 可以从 result 中获取服务器返回的 header 信息if error != nil {print(error!);} else {print(result!);}}QCloudCOSXMLService.defaultCOSXML().putBucket(putBucketReq);
说明
检索存储桶及其权限
功能说明
HEAD Bucket 请求可以确认该存储桶是否存在,是否有权限访问。有以下几种情况:
存储桶存在且有读取权限,返回 HTTP 状态码为200。
无存储桶读取权限,返回 HTTP 状态码为403。
存储桶不存在,返回 HTTP 状态码为404。
示例代码
Objective-C
QCloudHeadBucketRequest* request = [QCloudHeadBucketRequest new];// 存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucketrequest.bucket = @"examplebucket-1250000000";[request setFinishBlock:^(id outputObject, NSError* error) {// 可以从 outputObject 中获取服务器返回的 header 信息NSDictionary * result = (NSDictionary *)outputObject;}];[[QCloudCOSXMLService defaultCOSXML] HeadBucket:request];
说明
Swift
let headBucketReq = QCloudHeadBucketRequest.init();// 存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucketheadBucketReq.bucket = "examplebucket-1250000000";headBucketReq.finishBlock = {(result,error) inif let result = result {// result 包含响应的 header 信息} else {print(error!);}}QCloudCOSXMLService.defaultCOSXML().headBucket(headBucketReq);
说明
判断存储桶是否存在
功能说明
您可以通过 SDK 提供的快捷接口来判断 Bucket 是否存在
示例代码
Objective-C
// 存储桶名称,格式为 BucketName-APPID[[QCloudCOSXMLService defaultCOSXML] doesBucketExist: @"examplebucket-1250000000"];
说明
Swift
// 存储桶名称,格式为 BucketName-APPIDQCloudCOSXMLService.defaultCOSXML().doesBucketExist("examplebucket-1250000000");
说明
删除存储桶
功能说明
删除指定的存储桶(DELETE Bucket)。
注意
删除存储桶前,请确保存储桶内的数据和未完成上传的分块数据已全部清空,否则会无法删除存储桶。
示例代码
Objective-C
QCloudDeleteBucketRequest* request = [[QCloudDeleteBucketRequest alloc ] init];// 存储桶名称,命名格式:BucketName-APPIDrequest.bucket = @"examplebucket-1250000000";[request setFinishBlock:^(id outputObject,NSError*error) {// 可以从 outputObject 中获取服务器返回的 header 信息NSDictionary* info = (NSDictionary *) outputObject;}];[[QCloudCOSXMLService defaultCOSXML] DeleteBucket:request];
说明
Swift
let deleteBucketReq = QCloudDeleteBucketRequest.init();// 存储桶名称,命名格式:BucketName-APPIDdeleteBucketReq.bucket = "examplebucket-1250000000";deleteBucketReq.finishBlock = {(result,error) inif let result = result {// result 包含响应的 header 信息} else {print(error!);}}QCloudCOSXMLService.defaultCOSXML().deleteBucket(deleteBucketReq);
说明