Creating Buckets

Last updated: 2023-09-13 11:39:56

Feature Overview

This document provides an overview of APIs and SDK code samples for creating a bucket.
Note
We recommend users to use temporary keys when calling the SDK to enhance security through temporary authorization. When applying for temporary keys, please follow the principle of least privilege to prevent leakage of resources beyond the target bucket or object.
If you must use a permanent key, we recommend you follow the Notes on Principle of Least Privilege to limit the scope of permission on the permanent key.
API
Operation
Description
Create a bucket.
Creates a bucket under a specified account

SDK API References

For parameters and method description of all APIs in the SDK, see SDK API Reference.

Create a bucket.

Note

This API is used to create a bucket under the specified account. You can create multiple buckets under the same user account. The maximum number is 200 (regardless of region). There is no limit to the number of objects in the bucket. Bucket creation is a low-frequency operation. We recommended you create a bucket in the console and perform object operations in the SDK.

Sample code

using COSXML.Common;
using COSXML.Model.Bucket;
using COSXML.Auth;
using System;
using COSXML;

namespace COSSnippet
{
public class PutBucketModel {

private CosXml cosXml;

PutBucketModel() {
CosXmlConfig config = new CosXmlConfig.Builder()
.SetRegion("COS_REGION") // Set the default region. For abbreviations of COS regions, please visit https://cloud.tencent.com/document/product/436/6224
.Build();

string secretId = "SECRET_ID"; // TencentCloud API key SecretId, to obtain an API key, please refer to https://console.cloud.tencent.com/cam/capi
string secretKey = "SECRET_KEY"; // SecretKey of your TencentCloud API key, to obtain an API key, please refer to https://console.cloud.tencent.com/cam/capi
long durationSecond = 600; // Validity period of each request signature, in seconds.
QCloudCredentialProvider qCloudCredentialProvider = new DefaultQCloudCredentialProvider(secretId,
secretKey, durationSecond);

this.cosXml = new CosXmlServer(config, qCloudCredentialProvider);
}

/// Create a bucket
public void PutBucket()
{
//.cssg-snippet-body-start:[put-bucket]
try
{
// Bucket name format must be bucketname-APPID, where APPID can be obtained from https://console.cloud.tencent.com/developer
string bucket = "examplebucket-1250000000";
PutBucketRequest request = new PutBucketRequest(bucket);
// Execute the request
PutBucketResult result = cosXml.PutBucket(request);
//Request successful
Console.WriteLine(result.GetResultInfo());
}
catch (COSXML.CosException.CosClientException clientEx)
{
// Request failed
Console.WriteLine("CosClientException: " + clientEx);
}
catch (COSXML.CosException.CosServerException serverEx)
{
// Request failed
Console.WriteLine("CosServerException: " + serverEx.GetInfo());
}

//.cssg-snippet-body-end
}

// .cssg-methods-pragma

static void Main(string[] args)
{
PutBucketModel m = new PutBucketModel();

/// Create a bucket
m.PutBucket();
// .cssg-methods-pragma
}
}
}

Note
For more comprehensive examples, please visit GitHub.