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:CreateTable
permission to use this operation. -
If you use this operation with the optional
metadata
request parameter you must have thes3tables:PutTableData
permission. -
If you use this operation with the optional
encryptionConfiguration
request parameter you must have thes3tables:PutTableEncryption
permission.
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
"
}
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:
ICEBERG
Required: 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
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: