UpdateTable
Adds new columns to the table or updates one of the table's settings, for example capacity mode, encryption, point-in-time recovery, or ttl settings. Note that you can only update one specific table setting per update operation.
Request Syntax
{
"addColumns": [
{
"name": "string
",
"type": "string
"
}
],
"capacitySpecification": {
"readCapacityUnits": number
,
"throughputMode": "string
",
"writeCapacityUnits": number
},
"clientSideTimestamps": {
"status": "string
"
},
"defaultTimeToLive": number
,
"encryptionSpecification": {
"kmsKeyIdentifier": "string
",
"type": "string
"
},
"keyspaceName": "string
",
"pointInTimeRecovery": {
"status": "string
"
},
"tableName": "string
",
"ttl": {
"status": "string
"
}
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters.
The request accepts the following data in JSON format.
- addColumns
-
For each column to be added to the specified table:
-
name
- The name of the column. -
type
- An Amazon Keyspaces data type. For more information, see Data types in the Amazon Keyspaces Developer Guide.
Type: Array of ColumnDefinition objects
Array Members: Minimum number of 1 item.
Required: No
-
- capacitySpecification
-
Modifies the read/write throughput capacity mode for the table. The options are:
-
throughputMode:PAY_PER_REQUEST
and -
throughputMode:PROVISIONED
- Provisioned capacity mode requiresreadCapacityUnits
andwriteCapacityUnits
as input.
The default is
throughput_mode:PAY_PER_REQUEST
.For more information, see Read/write capacity modes in the Amazon Keyspaces Developer Guide.
Type: CapacitySpecification object
Required: No
-
- clientSideTimestamps
-
Enables client-side timestamps for the table. By default, the setting is disabled. You can enable client-side timestamps with the following option:
-
status: "enabled"
Once client-side timestamps are enabled for a table, this setting cannot be disabled.
Type: ClientSideTimestamps object
Required: No
-
- defaultTimeToLive
-
The default Time to Live setting in seconds for the table.
For more information, see Setting the default TTL value for a table in the Amazon Keyspaces Developer Guide.
Type: Integer
Valid Range: Minimum value of 1. Maximum value of 630720000.
Required: No
- encryptionSpecification
-
Modifies the encryption settings of the table. You can choose one of the following KMS key (KMS key):
-
type:AWS_OWNED_KMS_KEY
- This key is owned by Amazon Keyspaces. -
type:CUSTOMER_MANAGED_KMS_KEY
- This key is stored in your account and is created, owned, and managed by you. This option requires thekms_key_identifier
of the KMS key in Amazon Resource Name (ARN) format as input.
The default is
AWS_OWNED_KMS_KEY
.For more information, see Encryption at rest in the Amazon Keyspaces Developer Guide.
Type: EncryptionSpecification object
Required: No
-
- keyspaceName
-
The name of the keyspace the specified table is stored in.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 48.
Pattern:
[a-zA-Z0-9][a-zA-Z0-9_]{0,47}
Required: Yes
- pointInTimeRecovery
-
Modifies the
pointInTimeRecovery
settings of the table. The options are:-
status=ENABLED
-
status=DISABLED
If it's not specified, the default is
status=DISABLED
.For more information, see Point-in-time recovery in the Amazon Keyspaces Developer Guide.
Type: PointInTimeRecovery object
Required: No
-
- tableName
-
The name of the table.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 48.
Pattern:
[a-zA-Z0-9][a-zA-Z0-9_]{0,47}
Required: Yes
- ttl
-
Modifies Time to Live custom settings for the table. The options are:
-
status:enabled
-
status:disabled
The default is
status:disabled
. Afterttl
is enabled, you can't disable it for the table.For more information, see Expiring data by using Amazon Keyspaces Time to Live (TTL) in the Amazon Keyspaces Developer Guide.
Type: TimeToLive object
Required: No
-
Response Syntax
{
"resourceArn": "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.
- resourceArn
-
The Amazon Resource Name (ARN) of the modified table.
Type: String
Length Constraints: Minimum length of 20. Maximum length of 1000.
Pattern:
arn:(aws[a-zA-Z0-9-]*):cassandra:.+.*
Errors
For information about the errors that are common to all actions, see Common Errors.
- AccessDeniedException
-
You do not have sufficient access to perform this action.
HTTP Status Code: 400
- ConflictException
-
Amazon Keyspaces could not complete the requested action. This error may occur if you try to perform an action and the same or a different action is already in progress, or if you try to create a resource that already exists.
HTTP Status Code: 400
- InternalServerException
-
Amazon Keyspaces was unable to fully process this request because of an internal server error.
HTTP Status Code: 500
- ResourceNotFoundException
-
The operation tried to access a keyspace or table that doesn't exist. The resource might not be specified correctly, or its status might not be
ACTIVE
.HTTP Status Code: 400
- ServiceQuotaExceededException
-
The operation exceeded the service quota for this resource. For more information on service quotas, see Quotas in the Amazon Keyspaces Developer Guide.
HTTP Status Code: 400
- ValidationException
-
The operation failed due to an invalid or malformed request.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: