# Amazon Keyspaces code examples for the SDK for Python ## Overview Shows how to use the AWS SDK for Python (Boto3) to work with Amazon Keyspaces (for Apache Cassandra). *Amazon Keyspaces is a scalable, highly available, and managed Apache Cassandra-compatible database service.* ## ⚠ Important * Running this code might result in charges to your AWS account. For more details, see [AWS Pricing](https://aws.amazon.com/pricing/?aws-products-pricing.sort-by=item.additionalFields.productNameLowercase&aws-products-pricing.sort-order=asc&awsf.Free%20Tier%20Type=*all&awsf.tech-category=*all) and [Free Tier](https://aws.amazon.com/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=*all&awsf.Free%20Tier%20Categories=*all). * Running the tests might result in charges to your AWS account. * We recommend that you grant your code least privilege. At most, grant only the minimum permissions required to perform the task. For more information, see [Grant least privilege](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege). * This code is not tested in every AWS Region. For more information, see [AWS Regional Services](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services). ## Code examples ### Prerequisites For prerequisites, see the [README](../../README.md#Prerequisites) in the `python` folder. Install the packages required by these examples by running the following in a virtual environment: ``` python -m pip install -r requirements.txt ``` ### Get started * [Hello Amazon Keyspaces](hello.py#L4) (`ListKeyspaces`) ### Single actions Code excerpts that show you how to call individual service functions. * [Create a keyspace](keyspace.py#L30) (`CreateKeyspace`) * [Create a table](keyspace.py#L96) (`CreateTable`) * [Delete a keyspace](keyspace.py#L231) (`DeleteKeyspace`) * [Delete a table](keyspace.py#L215) (`DeleteTable`) * [Get data about a keyspace](keyspace.py#L51) (`GetKeyspace`) * [Get data about a table](keyspace.py#L128) (`GetTable`) * [List keyspaces](keyspace.py#L76) (`ListKeyspaces`) * [List tables in a keyspace](keyspace.py#L153) (`ListTables`) * [Restore a table to a point in time](keyspace.py#L190) (`RestoreTable`) * [Update a table](keyspace.py#L171) (`UpdateTable`) ### Scenarios Code examples that show you how to accomplish a specific task by calling multiple functions within the same service. * [Get started with keyspaces and tables](scenario_get_started_keyspaces.py) ## Run the examples ### Instructions #### Hello Amazon Keyspaces This example shows you how to get started using Amazon Keyspaces. ``` python hello.py ``` #### Get started with keyspaces and tables This example shows you how to do the following: * Create a keyspace and table. The table schema holds movie data and has point-in-time recovery enabled. * Connect to the keyspace using a secure TLS connection with SigV4 authentication. * Query the table. Add, retrieve, and update movie data. * Update the table. Add a column to track watched movies. * Restore the table to its previous state and clean up resources. Start the example by running the following at a command prompt: ``` python scenario_get_started_keyspaces.py ``` ### Tests ⚠ Running tests might result in charges to your AWS account. To find instructions for running these tests, see the [README](../../README.md#Tests) in the `python` folder. ## Additional resources * [Amazon Keyspaces Developer Guide](https://docs.aws.amazon.com/keyspaces/latest/devguide/what-is-keyspaces.html) * [Amazon Keyspaces API Reference](https://docs.aws.amazon.com/keyspaces/latest/APIReference/Welcome.html) * [SDK for Python Amazon Keyspaces reference](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/keyspaces.html) --- Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. SPDX-License-Identifier: Apache-2.0