@ThreadSafe @Generated(value="com.amazonaws:aws-java-sdk-code-generator") public class AmazonKeyspacesClient extends AmazonWebServiceClient implements AmazonKeyspaces
Amazon Keyspaces (for Apache Cassandra) is a scalable, highly available, and managed Apache Cassandra-compatible database service. Amazon Keyspaces makes it easy to migrate, run, and scale Cassandra workloads in the Amazon Web Services Cloud. With just a few clicks on the Amazon Web Services Management Console or a few lines of code, you can create keyspaces and tables in Amazon Keyspaces, without deploying any infrastructure or installing software.
In addition to supporting Cassandra Query Language (CQL) requests via open-source Cassandra drivers, Amazon Keyspaces supports data definition language (DDL) operations to manage keyspaces and tables using the Amazon Web Services SDK and CLI, as well as infrastructure as code (IaC) services and tools such as CloudFormation and Terraform. This API reference describes the supported DDL operations in detail.
For the list of all supported CQL APIs, see Supported Cassandra APIs, operations, and data types in Amazon Keyspaces in the Amazon Keyspaces Developer Guide.
To learn how Amazon Keyspaces API actions are recorded with CloudTrail, see Amazon Keyspaces information in CloudTrail in the Amazon Keyspaces Developer Guide.
For more information about Amazon Web Services APIs, for example how to implement retry logic or how to sign Amazon Web Services API requests, see Amazon Web Services APIs in the General Reference.
LOGGING_AWS_REQUEST_METRIC
ENDPOINT_PREFIX
Modifier and Type | Method and Description |
---|---|
static AmazonKeyspacesClientBuilder |
builder() |
CreateKeyspaceResult |
createKeyspace(CreateKeyspaceRequest request)
The
CreateKeyspace operation adds a new keyspace to your account. |
CreateTableResult |
createTable(CreateTableRequest request)
The
CreateTable operation adds a new table to the specified keyspace. |
DeleteKeyspaceResult |
deleteKeyspace(DeleteKeyspaceRequest request)
The
DeleteKeyspace operation deletes a keyspace and all of its tables. |
DeleteTableResult |
deleteTable(DeleteTableRequest request)
The
DeleteTable operation deletes a table and all of its data. |
ResponseMetadata |
getCachedResponseMetadata(AmazonWebServiceRequest request)
Returns additional metadata for a previously executed successful, request, typically used for debugging issues
where a service isn't acting as expected.
|
GetKeyspaceResult |
getKeyspace(GetKeyspaceRequest request)
Returns the name and the Amazon Resource Name (ARN) of the specified table.
|
GetTableResult |
getTable(GetTableRequest request)
Returns information about the table, including the table's name and current status, the keyspace name,
configuration settings, and metadata.
|
GetTableAutoScalingSettingsResult |
getTableAutoScalingSettings(GetTableAutoScalingSettingsRequest request)
Returns auto scaling related settings of the specified table in JSON format.
|
ListKeyspacesResult |
listKeyspaces(ListKeyspacesRequest request)
Returns a list of keyspaces.
|
ListTablesResult |
listTables(ListTablesRequest request)
Returns a list of tables for a specified keyspace.
|
ListTagsForResourceResult |
listTagsForResource(ListTagsForResourceRequest request)
Returns a list of all tags associated with the specified Amazon Keyspaces resource.
|
RestoreTableResult |
restoreTable(RestoreTableRequest request)
Restores the table to the specified point in time within the
earliest_restorable_timestamp and the
current time. |
void |
shutdown()
Shuts down this client object, releasing any resources that might be held
open.
|
TagResourceResult |
tagResource(TagResourceRequest request)
Associates a set of tags with a Amazon Keyspaces resource.
|
UntagResourceResult |
untagResource(UntagResourceRequest request)
Removes the association of tags from a Amazon Keyspaces resource.
|
UpdateTableResult |
updateTable(UpdateTableRequest request)
Adds new columns to the table or updates one of the table's settings, for example capacity mode, auto scaling,
encryption, point-in-time recovery, or ttl settings.
|
addRequestHandler, addRequestHandler, configureRegion, getClientConfiguration, getEndpointPrefix, getMonitoringListeners, getRequestMetricsCollector, getServiceName, getSignerByURI, getSignerOverride, getSignerRegionOverride, getTimeOffset, makeImmutable, removeRequestHandler, removeRequestHandler, setEndpoint, setEndpoint, setRegion, setServiceNameIntern, setSignerRegionOverride, setTimeOffset, withEndpoint, withRegion, withRegion, withTimeOffset
public static AmazonKeyspacesClientBuilder builder()
public CreateKeyspaceResult createKeyspace(CreateKeyspaceRequest request)
The CreateKeyspace
operation adds a new keyspace to your account. In an Amazon Web Services account,
keyspace names must be unique within each Region.
CreateKeyspace
is an asynchronous operation. You can monitor the creation status of the new keyspace
by using the GetKeyspace
operation.
For more information, see Creating keyspaces in the Amazon Keyspaces Developer Guide.
createKeyspace
in interface AmazonKeyspaces
createKeyspaceRequest
- ValidationException
- The operation failed due to an invalid or malformed request.ServiceQuotaExceededException
- The operation exceeded the service quota for this resource. For more information on service quotas, see
Quotas in the Amazon
Keyspaces Developer Guide.InternalServerException
- Amazon Keyspaces was unable to fully process this request because of an internal server error.ConflictException
- Amazon Keyspaces couldn't 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.AccessDeniedException
- You don't have sufficient access permissions to perform this action.public CreateTableResult createTable(CreateTableRequest request)
The CreateTable
operation adds a new table to the specified keyspace. Within a keyspace, table names
must be unique.
CreateTable
is an asynchronous operation. When the request is received, the status of the table is
set to CREATING
. You can monitor the creation status of the new table by using the
GetTable
operation, which returns the current status
of the table. You can start using
a table when the status is ACTIVE
.
For more information, see Creating tables in the Amazon Keyspaces Developer Guide.
createTable
in interface AmazonKeyspaces
createTableRequest
- ValidationException
- The operation failed due to an invalid or malformed request.ServiceQuotaExceededException
- The operation exceeded the service quota for this resource. For more information on service quotas, see
Quotas in the Amazon
Keyspaces Developer Guide.InternalServerException
- Amazon Keyspaces was unable to fully process this request because of an internal server error.ConflictException
- Amazon Keyspaces couldn't 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.AccessDeniedException
- You don't have sufficient access permissions to perform this action.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
.public DeleteKeyspaceResult deleteKeyspace(DeleteKeyspaceRequest request)
The DeleteKeyspace
operation deletes a keyspace and all of its tables.
deleteKeyspace
in interface AmazonKeyspaces
deleteKeyspaceRequest
- ValidationException
- The operation failed due to an invalid or malformed request.ServiceQuotaExceededException
- The operation exceeded the service quota for this resource. For more information on service quotas, see
Quotas in the Amazon
Keyspaces Developer Guide.InternalServerException
- Amazon Keyspaces was unable to fully process this request because of an internal server error.ConflictException
- Amazon Keyspaces couldn't 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.AccessDeniedException
- You don't have sufficient access permissions to perform this action.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
.public DeleteTableResult deleteTable(DeleteTableRequest request)
The DeleteTable
operation deletes a table and all of its data. After a DeleteTable
request is received, the specified table is in the DELETING
state until Amazon Keyspaces completes
the deletion. If the table is in the ACTIVE
state, you can delete it. If a table is either in the
CREATING
or UPDATING
states, then Amazon Keyspaces returns a
ResourceInUseException
. If the specified table does not exist, Amazon Keyspaces returns a
ResourceNotFoundException
. If the table is already in the DELETING
state, no error is
returned.
deleteTable
in interface AmazonKeyspaces
deleteTableRequest
- ValidationException
- The operation failed due to an invalid or malformed request.ServiceQuotaExceededException
- The operation exceeded the service quota for this resource. For more information on service quotas, see
Quotas in the Amazon
Keyspaces Developer Guide.InternalServerException
- Amazon Keyspaces was unable to fully process this request because of an internal server error.ConflictException
- Amazon Keyspaces couldn't 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.AccessDeniedException
- You don't have sufficient access permissions to perform this action.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
.public GetKeyspaceResult getKeyspace(GetKeyspaceRequest request)
Returns the name and the Amazon Resource Name (ARN) of the specified table.
getKeyspace
in interface AmazonKeyspaces
getKeyspaceRequest
- ValidationException
- The operation failed due to an invalid or malformed request.ServiceQuotaExceededException
- The operation exceeded the service quota for this resource. For more information on service quotas, see
Quotas in the Amazon
Keyspaces Developer Guide.InternalServerException
- Amazon Keyspaces was unable to fully process this request because of an internal server error.AccessDeniedException
- You don't have sufficient access permissions to perform this action.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
.public GetTableResult getTable(GetTableRequest request)
Returns information about the table, including the table's name and current status, the keyspace name, configuration settings, and metadata.
To read table metadata using GetTable
, Select
action permissions for the table and
system tables are required to complete the operation.
getTable
in interface AmazonKeyspaces
getTableRequest
- ValidationException
- The operation failed due to an invalid or malformed request.ServiceQuotaExceededException
- The operation exceeded the service quota for this resource. For more information on service quotas, see
Quotas in the Amazon
Keyspaces Developer Guide.InternalServerException
- Amazon Keyspaces was unable to fully process this request because of an internal server error.AccessDeniedException
- You don't have sufficient access permissions to perform this action.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
.public GetTableAutoScalingSettingsResult getTableAutoScalingSettings(GetTableAutoScalingSettingsRequest request)
Returns auto scaling related settings of the specified table in JSON format. If the table is a multi-Region table, the Amazon Web Services Region specific auto scaling settings of the table are included.
Amazon Keyspaces auto scaling helps you provision throughput capacity for variable workloads efficiently by increasing and decreasing your table's read and write capacity automatically in response to application traffic. For more information, see Managing throughput capacity automatically with Amazon Keyspaces auto scaling in the Amazon Keyspaces Developer Guide.
GetTableAutoScalingSettings
can't be used as an action in an IAM policy.
To define permissions for GetTableAutoScalingSettings
, you must allow the following two actions in
the IAM policy statement's Action
element:
application-autoscaling:DescribeScalableTargets
application-autoscaling:DescribeScalingPolicies
getTableAutoScalingSettings
in interface AmazonKeyspaces
getTableAutoScalingSettingsRequest
- ValidationException
- The operation failed due to an invalid or malformed request.ServiceQuotaExceededException
- The operation exceeded the service quota for this resource. For more information on service quotas, see
Quotas in the Amazon
Keyspaces Developer Guide.InternalServerException
- Amazon Keyspaces was unable to fully process this request because of an internal server error.AccessDeniedException
- You don't have sufficient access permissions to perform this action.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
.public ListKeyspacesResult listKeyspaces(ListKeyspacesRequest request)
Returns a list of keyspaces.
listKeyspaces
in interface AmazonKeyspaces
listKeyspacesRequest
- ValidationException
- The operation failed due to an invalid or malformed request.ServiceQuotaExceededException
- The operation exceeded the service quota for this resource. For more information on service quotas, see
Quotas in the Amazon
Keyspaces Developer Guide.InternalServerException
- Amazon Keyspaces was unable to fully process this request because of an internal server error.AccessDeniedException
- You don't have sufficient access permissions to perform this action.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
.public ListTablesResult listTables(ListTablesRequest request)
Returns a list of tables for a specified keyspace.
listTables
in interface AmazonKeyspaces
listTablesRequest
- ValidationException
- The operation failed due to an invalid or malformed request.ServiceQuotaExceededException
- The operation exceeded the service quota for this resource. For more information on service quotas, see
Quotas in the Amazon
Keyspaces Developer Guide.InternalServerException
- Amazon Keyspaces was unable to fully process this request because of an internal server error.AccessDeniedException
- You don't have sufficient access permissions to perform this action.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
.public ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest request)
Returns a list of all tags associated with the specified Amazon Keyspaces resource.
listTagsForResource
in interface AmazonKeyspaces
listTagsForResourceRequest
- ValidationException
- The operation failed due to an invalid or malformed request.ServiceQuotaExceededException
- The operation exceeded the service quota for this resource. For more information on service quotas, see
Quotas in the Amazon
Keyspaces Developer Guide.InternalServerException
- Amazon Keyspaces was unable to fully process this request because of an internal server error.AccessDeniedException
- You don't have sufficient access permissions to perform this action.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
.public RestoreTableResult restoreTable(RestoreTableRequest request)
Restores the table to the specified point in time within the earliest_restorable_timestamp
and the
current time. For more information about restore points, see Time window for PITR continuous backups in the Amazon Keyspaces Developer Guide.
Any number of users can execute up to 4 concurrent restores (any type of restore) in a given account.
When you restore using point in time recovery, Amazon Keyspaces restores your source table's schema and data to
the state based on the selected timestamp (day:hour:minute:second)
to a new table. The Time to Live
(TTL) settings are also restored to the state based on the selected timestamp.
In addition to the table's schema, data, and TTL settings, RestoreTable
restores the capacity mode,
auto scaling settings, encryption settings, and point-in-time recovery settings from the source table. Unlike the
table's schema data and TTL settings, which are restored based on the selected timestamp, these settings are
always restored based on the table's settings as of the current time or when the table was deleted.
You can also overwrite these settings during restore:
Read/write capacity mode
Provisioned throughput capacity units
Auto scaling settings
Point-in-time (PITR) settings
Tags
For more information, see PITR restore settings in the Amazon Keyspaces Developer Guide.
Note that the following settings are not restored, and you must configure them manually for the new table:
Identity and Access Management (IAM) policies
Amazon CloudWatch metrics and alarms
restoreTable
in interface AmazonKeyspaces
restoreTableRequest
- ValidationException
- The operation failed due to an invalid or malformed request.ServiceQuotaExceededException
- The operation exceeded the service quota for this resource. For more information on service quotas, see
Quotas in the Amazon
Keyspaces Developer Guide.InternalServerException
- Amazon Keyspaces was unable to fully process this request because of an internal server error.ConflictException
- Amazon Keyspaces couldn't 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.AccessDeniedException
- You don't have sufficient access permissions to perform this action.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
.public TagResourceResult tagResource(TagResourceRequest request)
Associates a set of tags with a Amazon Keyspaces resource. You can then activate these user-defined tags so that they appear on the Cost Management Console for cost allocation tracking. For more information, see Adding tags and labels to Amazon Keyspaces resources in the Amazon Keyspaces Developer Guide.
For IAM policy examples that show how to control access to Amazon Keyspaces resources based on tags, see Amazon Keyspaces resource access based on tags in the Amazon Keyspaces Developer Guide.
tagResource
in interface AmazonKeyspaces
tagResourceRequest
- ValidationException
- The operation failed due to an invalid or malformed request.ServiceQuotaExceededException
- The operation exceeded the service quota for this resource. For more information on service quotas, see
Quotas in the Amazon
Keyspaces Developer Guide.InternalServerException
- Amazon Keyspaces was unable to fully process this request because of an internal server error.AccessDeniedException
- You don't have sufficient access permissions to perform this action.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
.public UntagResourceResult untagResource(UntagResourceRequest request)
Removes the association of tags from a Amazon Keyspaces resource.
untagResource
in interface AmazonKeyspaces
untagResourceRequest
- ValidationException
- The operation failed due to an invalid or malformed request.ServiceQuotaExceededException
- The operation exceeded the service quota for this resource. For more information on service quotas, see
Quotas in the Amazon
Keyspaces Developer Guide.InternalServerException
- Amazon Keyspaces was unable to fully process this request because of an internal server error.ConflictException
- Amazon Keyspaces couldn't 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.AccessDeniedException
- You don't have sufficient access permissions to perform this action.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
.public UpdateTableResult updateTable(UpdateTableRequest request)
Adds new columns to the table or updates one of the table's settings, for example capacity mode, auto scaling, encryption, point-in-time recovery, or ttl settings. Note that you can only update one specific table setting per update operation.
updateTable
in interface AmazonKeyspaces
updateTableRequest
- ValidationException
- The operation failed due to an invalid or malformed request.ServiceQuotaExceededException
- The operation exceeded the service quota for this resource. For more information on service quotas, see
Quotas in the Amazon
Keyspaces Developer Guide.InternalServerException
- Amazon Keyspaces was unable to fully process this request because of an internal server error.ConflictException
- Amazon Keyspaces couldn't 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.AccessDeniedException
- You don't have sufficient access permissions to perform this action.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
.public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request)
Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic information for an executed request, you should use this method to retrieve it as soon as possible after executing the request.
getCachedResponseMetadata
in interface AmazonKeyspaces
request
- The originally executed requestpublic void shutdown()
AmazonWebServiceClient
shutdown
in interface AmazonKeyspaces
shutdown
in class AmazonWebServiceClient