开发者指南

API 文档

SDK 文档

存储桶操作

最近更新时间:2020-03-20 14:31:59

简介

本文档提供关于存储桶的基本操作相关 API 概览以及 SDK 示例代码。

API 操作名 操作描述
GET Service(List Buckets) 查询存储桶列表 查询指定账号下所有存储桶列表
PUT Bucket 创建存储桶 在指定账号下创建一个存储桶
HEAD Bucket 检索存储桶及其权限 检索存储桶是否存在且是否有权限访问
DELETE Bucket 删除存储桶 删除指定账号下的空存储桶

查询存储桶列表

功能说明

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

方法原型

GetServiceResult GetService(GetServiceRequest request);

void GetService(GetServiceRequest request, COSXML.Callback.OnSuccessCallback<CosResult> successCallback, COSXML.Callback.OnFailedCallback failCallback);

请求示例

CosXmlConfig config = new CosXmlConfig.Builder()
  .SetConnectionTimeoutMs(60000)  //设置连接超时时间,单位毫秒,默认45000ms
  .SetReadWriteTimeoutMs(40000)  //设置读写超时时间,单位毫秒,默认45000ms
  .IsHttps(true)  //设置默认 HTTPS 请求
  .SetAppid("1250000000") //设置腾讯云账户的账户标识 APPID
  .SetRegion("COS_REGION") //设置一个默认的存储桶地域
  .Build();

string secretId = "COS_SECRETID";   //云 API 密钥 SecretId
string secretKey = "COS_SECRETKEY"; //云 API 密钥 SecretKey
long durationSecond = 600;          //每次请求签名有效时长,单位为秒
QCloudCredentialProvider qCloudCredentialProvider = new DefaultQCloudCredentialProvider(secretId, 
  secretKey, durationSecond);

CosXml cosXml = new CosXmlServer(config, qCloudCredentialProvider);

try
{
  GetServiceRequest request = new GetServiceRequest();
  //设置签名有效时长
  request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600);
  //执行请求
  GetServiceResult result = cosXml.GetService(request);
  //得到所有的 buckets
  List<ListAllMyBuckets.Bucket> allBuckets = result.listAllMyBuckets.buckets;
}
catch (COSXML.CosException.CosClientException clientEx)
{
  //请求失败
  Console.WriteLine("CosClientException: " + clientEx);
}
catch (COSXML.CosException.CosServerException serverEx)
{
  //请求失败
  Console.WriteLine("CosServerException: " + serverEx.GetInfo());
}

参数说明

参数名称 设置方法 描述 类型
signStartTimeSecond SetSign 签名有效期起始时间(Unix 时间戳),例如1557902800 long
durationSecond SetSign 签名有效期时长(单位为秒),例如签名有效时期为1分钟:60 long
headerKeys SetSign 签名的请求头 List<string>
queryParameterKeys SetSign 签名的请求参数 List<string>

返回结果说明

通过 GetServiceResult 返回请求结果。

成员变量 类型 描述
httpCode int HTTP Code, [200,300)之间表示操作成功,否则表示操作失败
listAllMyBuckets ListAllMyBuckets 返回指定账号下的存储桶列表的信息
说明:

操作失败时,系统将抛出 CosClientExceptionCosServerException 异常。

创建存储桶

功能说明

在指定账号下创建一个存储桶。

方法原型

PutBucketResult PutBucket(PutBucketRequest request);

void PutBucket(PutBucketRequest request, COSXML.Callback.OnSuccessCallback<CosResult> successCallback, COSXML.Callback.OnFailedCallback failCallback);

请求示例

CosXmlConfig config = new CosXmlConfig.Builder()
  .SetConnectionTimeoutMs(60000)  //设置连接超时时间,单位毫秒,默认45000ms
  .SetReadWriteTimeoutMs(40000)  //设置读写超时时间,单位毫秒,默认45000ms
  .IsHttps(true)  //设置默认 HTTPS 请求
  .SetAppid("1250000000") //设置腾讯云账户的账户标识 APPID
  .SetRegion("COS_REGION") //设置一个默认的存储桶地域
  .Build();

string secretId = "COS_SECRETID";   //云 API 密钥 SecretId
string secretKey = "COS_SECRETKEY"; //云 API 密钥 SecretKey
long durationSecond = 600;          //每次请求签名有效时长,单位为秒
QCloudCredentialProvider qCloudCredentialProvider = new DefaultQCloudCredentialProvider(secretId, 
  secretKey, durationSecond);

CosXml cosXml = new CosXmlServer(config, qCloudCredentialProvider);

try
{
  string bucket = "examplebucket-1250000000"; //格式:BucketName-APPID
  PutBucketRequest request = new PutBucketRequest(bucket);
  //设置签名有效时长
  request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600);
  //执行请求
  PutBucketResult result = cosXml.PutBucket(request);
  //请求成功
  Console.WriteLine(result.GetResultInfo());
}
catch (COSXML.CosException.CosClientException clientEx)
{
  //请求失败
  Console.WriteLine("CosClientException: " + clientEx);
}
catch (COSXML.CosException.CosServerException serverEx)
{
  //请求失败
  Console.WriteLine("CosServerException: " + serverEx.GetInfo());
}

参数说明

参数名称 设置方法 描述 类型
bucket 构造方法 存储桶名称,格式:BucketName-APPID string
signStartTimeSecond SetSign 签名有效期起始时间(Unix 时间戳),例如1557902800 long
durationSecond SetSign 签名有效期时长(单位为秒),例如签名有效时期为1分钟:60 long
headerKeys SetSign 签名的请求头 List<string>
queryParameterKeys SetSign 签名的请求参数 List<string>

返回结果说明

通过 PutBucketResult 返回请求结果。

成员变量 类型 描述
httpCode int HTTP Code, [200,300)之间表示操作成功,否则表示操作失败
说明:

操作失败时,系统将抛出 CosClientExceptionCosServerException 异常。

检索存储桶及其权限

功能说明

检索存储桶是否存在且是否有权限访问。

方法原型

HeadBucketResult HeadBucket(HeadBucketRequest request);

void HeadBucket(HeadBucketRequest request, COSXML.Callback.OnSuccessCallback<CosResult> successCallback, COSXML.Callback.OnFailedCallback failCallback);

请求示例

CosXmlConfig config = new CosXmlConfig.Builder()
  .SetConnectionTimeoutMs(60000)  //设置连接超时时间,单位毫秒,默认45000ms
  .SetReadWriteTimeoutMs(40000)  //设置读写超时时间,单位毫秒,默认45000ms
  .IsHttps(true)  //设置默认 HTTPS 请求
  .SetAppid("1250000000") //设置腾讯云账户的账户标识 APPID
  .SetRegion("COS_REGION") //设置一个默认的存储桶地域
  .Build();

string secretId = "COS_SECRETID";   //云 API 密钥 SecretId
string secretKey = "COS_SECRETKEY"; //云 API 密钥 SecretKey
long durationSecond = 600;          //每次请求签名有效时长,单位为秒
QCloudCredentialProvider qCloudCredentialProvider = new DefaultQCloudCredentialProvider(secretId, 
  secretKey, durationSecond);

CosXml cosXml = new CosXmlServer(config, qCloudCredentialProvider);

try
{
  string bucket = "examplebucket-1250000000"; //格式:BucketName-APPID
  HeadBucketRequest request = new HeadBucketRequest(bucket);
  //设置签名有效时长
  request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600);
  //执行请求
  HeadBucketResult result = cosXml.HeadBucket(request);
  //请求成功
  Console.WriteLine(result.GetResultInfo());
}
catch (COSXML.CosException.CosClientException clientEx)
{
  //请求失败
  Console.WriteLine("CosClientException: " + clientEx);
}
catch (COSXML.CosException.CosServerException serverEx)
{
  //请求失败
  Console.WriteLine("CosServerException: " + serverEx.GetInfo());
}

删除存储桶

功能说明

删除指定账号下的空存储桶。

方法原型

DeleteBucketResult DeleteBucket(DeleteBucketRequest request);

void DeleteBucket(DeleteBucketRequest request, COSXML.Callback.OnSuccessCallback<CosResult> successCallback, COSXML.Callback.OnFailedCallback failCallback);

请求示例

CosXmlConfig config = new CosXmlConfig.Builder()
  .SetConnectionTimeoutMs(60000)  //设置连接超时时间,单位毫秒,默认45000ms
  .SetReadWriteTimeoutMs(40000)  //设置读写超时时间,单位毫秒,默认45000ms
  .IsHttps(true)  //设置默认 HTTPS 请求
  .SetAppid("1250000000") //设置腾讯云账户的账户标识 APPID
  .SetRegion("COS_REGION") //设置一个默认的存储桶地域
  .Build();

string secretId = "COS_SECRETID";   //云 API 密钥 SecretId
string secretKey = "COS_SECRETKEY"; //云 API 密钥 SecretKey
long durationSecond = 600;          //每次请求签名有效时长,单位为秒
QCloudCredentialProvider qCloudCredentialProvider = new DefaultQCloudCredentialProvider(secretId, 
  secretKey, durationSecond);

CosXml cosXml = new CosXmlServer(config, qCloudCredentialProvider);

try
{
  string bucket = "examplebucket-1250000000"; //格式:BucketName-APPID
  DeleteBucketRequest request = new DeleteBucketRequest(bucket);
  //设置签名有效时长
  request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600);
  //执行请求
  DeleteBucketResult result = cosXml.DeleteBucket(request);
  //请求成功
  Console.WriteLine(result.GetResultInfo());
}
catch (COSXML.CosException.CosClientException clientEx)
{
  //请求失败
  Console.WriteLine("CosClientException: " + clientEx);
}
catch (COSXML.CosException.CosServerException serverEx)
{
  //请求失败
  Console.WriteLine("CosServerException: " + serverEx.GetInfo());
}

参数说明

参数名称 设置方法 描述 类型
bucket 构造方法 存储桶名称,格式:BucketName-APPID string
signStartTimeSecond SetSign 签名有效期起始时间(Unix 时间戳),例如1557902800 long
durationSecond SetSign 签名有效期时长(单位为秒),例如签名有效时期为1分钟:60 long
headerKeys SetSign 签名的请求头 List<string>
queryParameterKeys SetSign 签名的请求参数 List<string>

返回结果说明

通过 DeleteBucketResult 返回请求结果。

成员变量 类型 描述
httpCode int HTTP Code, [200,300)之间表示操作成功,否则表示操作失败
说明:

操作失败时,系统将抛出 CosClientExceptionCosServerException 异常。

目录