CreateTable
Creates a new table associated with the given namespace in a table bucket. For more information, see Creating an Amazon S3 table in the Amazon Simple Storage Service User Guide.
- Permissions
-
-
You must have the
s3tables:CreateTablepermission to use this operation. -
If you use this operation with the optional
metadatarequest parameter you must have thes3tables:PutTableDatapermission. -
If you use this operation with the optional
encryptionConfigurationrequest parameter you must have thes3tables:PutTableEncryptionpermission. -
You must have the
s3tables:TagResourcepermission in addition tos3tables:CreateTablepermission to create a table with tags.
Note
Additionally, If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see Permissions requirements for S3 Tables SSE-KMS encryption.
-
Request Syntax
PUT /tables/tableBucketARN/namespace HTTP/1.1
Content-type: application/json
{
"encryptionConfiguration": {
"kmsKeyArn": "string",
"sseAlgorithm": "string"
},
"format": "string",
"metadata": { ... },
"name": "string",
"tags": {
"string" : "string"
}
}
URI Request Parameters
The request uses the following URI parameters.
- namespace
-
The namespace to associated with the table.
Length Constraints: Minimum length of 1. Maximum length of 255.
Pattern:
[0-9a-z_]*Required: Yes
- tableBucketARN
-
The Amazon Resource Name (ARN) of the table bucket to create the table in.
Pattern:
(arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:bucket/[a-z0-9_-]{3,63})Required: Yes
Request Body
The request accepts the following data in JSON format.
- encryptionConfiguration
-
The encryption configuration to use for the table. This configuration specifies the encryption algorithm and, if using SSE-KMS, the KMS key to use for encrypting the table.
Note
If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see Permissions requirements for S3 Tables SSE-KMS encryption.
Type: EncryptionConfiguration object
Required: No
- format
-
The format for the table.
Type: String
Valid Values:
ICEBERGRequired: Yes
- metadata
-
The metadata for the table.
Type: TableMetadata object
Note: This object is a Union. Only one member of this object can be specified or returned.
Required: No
- name
-
The name for the table.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
Pattern:
[0-9a-z_]*Required: Yes
-
A map of user-defined tags that you would like to apply to the table that you are creating. A tag is a key-value pair that you apply to your resources. Tags can help you organize, track costs for, and control access to resources. For more information, see Tagging for cost allocation or attribute-based access control (ABAC).
Note
You must have the
s3tables:TagResourcepermission in addition tos3tables:CreateTablepermission to create a table with tags.Type: String to string map
Key Length Constraints: Minimum length of 1. Maximum length of 128.
Value Length Constraints: Minimum length of 0. Maximum length of 256.
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"tableARN": "string",
"versionToken": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- tableARN
-
The Amazon Resource Name (ARN) of the table.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 2048.
Pattern:
(arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:bucket/[a-z0-9_-]{3,63}/table/[a-zA-Z0-9-_]{1,255}) - versionToken
-
The version token of the table.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 2048.
Errors
- BadRequestException
-
The request is invalid or malformed.
HTTP Status Code: 400
- ConflictException
-
The request failed because there is a conflict with a previous write. You can retry the request.
HTTP Status Code: 409
- ForbiddenException
-
The caller isn't authorized to make the request.
HTTP Status Code: 403
- InternalServerErrorException
-
The request failed due to an internal server error.
HTTP Status Code: 500
- NotFoundException
-
The request was rejected because the specified resource could not be found.
HTTP Status Code: 404
- TooManyRequestsException
-
The limit on the number of requests per second was exceeded.
HTTP Status Code: 429
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: