调用CreateTableBucket接口创建一个Table Bucket。
注意事项
Table Bucket是OSS Tables的顶层资源容器,用于存储和管理Apache Iceberg格式的表。Table Bucket采用三层结构:Table Bucket > Namespace > Table。
调用该接口时,有以下注意事项:
-
同一个阿里云账号在同一个地域(Region)最多创建10个Table Bucket。
-
Table Bucket名称在同一个阿里云账号下同一地域内全局唯一。
权限说明
|
API |
Action |
说明 |
|
CreateTableBucket |
oss:CreateTableBucket |
创建Table Bucket的基础权限。 |
|
oss:PutTableBucketEncryption |
如果指定了encryptionConfiguration,必须具备此权限。 |
请求语法
PUT /buckets HTTP/1.1
Content-type: application/json
Host: cn-hangzhou.oss-tables.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
{
"encryptionConfiguration": {
"kmsKeyArn": "string",
"sseAlgorithm": "string"
},
"name": "string"
}
请求参数
|
名称 |
数据类型 |
是否必选 |
示例值 |
描述 |
|
name |
字符串 |
是 |
my-table-bucket |
Table Bucket名称。长度为3~32个字符,只允许小写字母、数字和连字符(-),不能以连字符开头或结尾,不能以oss、acs、aliyun、alibaba、aws为前缀。 |
|
encryptionConfiguration |
容器 |
否 |
- |
服务端加密配置。 |
|
sseAlgorithm |
字符串 |
否 |
AES256 |
加密算法,目前仅支持AES256。 父节点:encryptionConfiguration |
|
kmsKeyArn |
字符串 |
否 |
- |
KMS密钥ARN,目前仅支持为空。 父节点:encryptionConfiguration |
响应参数
|
名称 |
数据类型 |
示例值 |
描述 |
|
arn |
字符串 |
acs:osstables:cn-hangzhou:1234567890:bucket/my-table-bucket |
Table Bucket的ARN。 |
示例
请求示例
以下示例创建一个名为my-table-bucket的Table Bucket,并配置AES256服务端加密。
PUT /buckets HTTP/1.1
Content-type: application/json
Host: cn-hangzhou.oss-tables.aliyuncs.com
Date: GMT Date
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/osstables/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c****
{
"name": "my-table-bucket",
"encryptionConfiguration": {
"sseAlgorithm": "AES256"
}
}
返回示例
HTTP/1.1 200 OK
Server: AliyunOSS
x-oss-request-id: 5C06A3B67B8B5A3DA422****
x-oss-server-time: 3
Content-Type: application/json
{
"arn": "acs:osstables:cn-hangzhou:1234567890:bucket/my-table-bucket"
}
SDK
CreateTableBucket接口所对应的各语言SDK如下:
命令行工具ossutil
CreateTableBucket接口所对应的ossutil命令,请参见create-table-bucket。
错误码
|
错误码 |
HTTP状态码 |
描述 |
|
BadRequestException |
400 |
请求无效或格式错误。 |
|
ForbiddenException |
403 |
调用者无权执行此请求。 |
|
ConflictException |
409 |
请求与之前的写入操作存在冲突,请重试。 |