116
Bucket接口 > 创建 Bucket

描述

本接口用于创建一个新的 Bucket。此接口不支持匿名请求。您可以在请求参数中指定存储区域,例如,您在华东,选择华东存储区域可以减少延迟、降低成本。

请求

请求地址:

rs.qiniu.com

  • 语法
POST /mkbucketv2/<EncodedBucketName>/region/<Region> HTTP/1.1
Host: rs.qiniu.com
Content-Type: application/x-www-form-urlencoded
Authorization: QBox <AccessToken>

使用说明:

如果请求的 Bucket 已经存在,返回错误码 614,错误信息:目标资源已存在。

如果创建的 Bucket 不符合命名规范,返回错误码 400,错误信息:invalid arguments。

如果发起创建 Bucket 请求的时候,没有传入认证信息,返回错误码 401,错误信息:bad token。

如果创建 Bucket 的时候超过最大创建数(默认 20 个),返回错误码 630,错误信息:too many buckets。

目前 Bucket 有两种访问权限:公开和私有。创建的 Bucket,默认为公有权限

  • 请求参数
参数名称必填说明
EncodeBucketName空间名称的URL安全的Base64编码,空间名称仅支持字母、短划线-、下划线_、数字的组合。
Region存储区域,默认华东
z0 华东
z1 华北
z2 华南
na0 北美
as0 东南亚
  • 请求头

该请求操作的实现使用了所有操作的公共请求头。

  • 请求元素

该请求操作的请求体为空。

响应

  • 响应头

该请求操作的实现使用了所有操作的公共响应头。

  • 响应元素

该请求操作的响应体为空。

  • 特殊错误

该操作的实现不会返回特殊错误。

请求示例:

POST /mkbucketv2/mybucketforvideo HTTP/1.1
Host: rs.qiniu.com
User-Agent: Go-http-client/1.1
Content-Length: 0
Authorization: QBox j853F3bLkWl59I5BOkWm6q1Z1mZClpr9Z9CLfDE0:nP7NSSyGo4x3W_nJ8T9X1gJrgpk=

响应示例:

HTTP/1.1 200 OK
Content-Length: 2
Connection: keep-alive
Content-Type: application/json
Date: Wed, 16 Aug 2019 11:00:00 GMT
Server: nginx
X-Reqid: SFkAAAC8BDebTtsU

{}

示例

function createbucket($accessKey, $secretKey,$bucketName,$region)
{
    $authObj = new Auth($accessKey, $secretKey);
    $url = "http://rs.qiniu.com/mkbucketv2/{$bucketName}/region/{$region}";
    $headers = $authObj->getHeaders($url, null, 'application/x-www-form-urlencoded');//生成方式请参考公共请求头文档
    // 创建一个新cURL资源
    $curl = curl_init();
    // 设置URL和相应的选项
    curl_setopt($curl, CURLOPT_URL, $url);
    //CURLOPT_HEADER为true设置头文件的信息作为数据流输出
    curl_setopt($curl, CURLOPT_HEADER, false);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_TIMEOUT, 60);
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, strtoupper('POST'));
    curl_setopt($curl, CURLOPT_POST, true);
    $result = curl_exec($curl);
    curl_close($curl);
    return $result;
}
$accessKey = 'xxx';
$secretKey = 'xxx';
$bucketName = '123_1';//存储空间名称,要求在互站云对象存储范围内唯一,由3~63个字符组成,支持小写字母、短划线-和数字,且必须以小写字母或数字开头和结尾。
$region = 'z0';//存储空间区域,z0 华东,z1 华北
echo createbucket($accessKey, $secretKey,$bucketName,$region);

这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好! 很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!