Create a keyspace (Python)
Creates a new keyspace in a database.
Keyspaces are used to store collections and tables in Hyper-Converged Database (HCD).
Result
Creates the specified keyspace.
Does not return anything.
Parameters
Use the create_keyspace method, which belongs to the astrapy.DataAPIDatabaseAdmin class.
Method signature
create_keyspace(
name: str,
*,
replication_options: dict[str, Any],
update_db_keyspace: bool,
keyspace_admin_timeout_ms: int,
request_timeout_ms: int,
timeout_ms: int,
**kwargs: Any,
) -> None
| Name | Type | Summary |
|---|---|---|
|
|
The name of the keyspace to create. If a keyspace with the name already exists, a new keyspace isn’t created, and the command succeeds. |
|
|
Optional. Specifies the options for data replication across database nodes. For an example, see Create a keyspace and specify replication options. |
|
|
Optional.
Whether to set the working keyspace of the |
|
|
Optional.
A timeout, in milliseconds, to impose on the underlying API request.
If not provided, the This parameter is aliased as |
Examples
The following examples demonstrate how to create a keyspace.
Create a keyspace
from astrapy import DataAPIClient
from astrapy.authentication import UsernamePasswordTokenProvider
from astrapy.constants import Environment
# Get a database
client = DataAPIClient(environment=Environment.HCD)
database = client.get_database(
"API_ENDPOINT",
token=UsernamePasswordTokenProvider("USERNAME", "PASSWORD"),
)
# Get an admin object
admin = database.get_database_admin()
# Create a keyspace
admin.create_keyspace("KEYSPACE_NAME")
Create a keyspace and set it as the working keyspace for the database
from astrapy import DataAPIClient
from astrapy.authentication import UsernamePasswordTokenProvider
from astrapy.constants import Environment
# Get a database
client = DataAPIClient(environment=Environment.HCD)
database = client.get_database(
"API_ENDPOINT",
token=UsernamePasswordTokenProvider("USERNAME", "PASSWORD"),
)
# Get an admin object
admin = database.get_database_admin()
# Create a keyspace
admin.create_keyspace("KEYSPACE_NAME", update_db_keyspace=True)
Create a keyspace and specify replication options
For more information about data replication, see Data replication.
Example using SimpleStrategy:
from astrapy import DataAPIClient
from astrapy.authentication import UsernamePasswordTokenProvider
from astrapy.constants import Environment
# Get a database
client = DataAPIClient(environment=Environment.HCD)
database = client.get_database(
"API_ENDPOINT",
token=UsernamePasswordTokenProvider("USERNAME", "PASSWORD"),
)
# Get an admin object
admin = database.get_database_admin()
# Create a keyspace
admin.create_keyspace(
"KEYSPACE_NAME",
replication_options={
"class": "SimpleStrategy",
"replication_factor": 3,
},
)
Example using NetworkTopologyStrategy:
from astrapy import DataAPIClient
from astrapy.authentication import UsernamePasswordTokenProvider
from astrapy.constants import Environment
# Get a database
client = DataAPIClient(environment=Environment.HCD)
database = client.get_database(
"API_ENDPOINT",
token=UsernamePasswordTokenProvider("USERNAME", "PASSWORD"),
)
# Get an admin object
admin = database.get_database_admin()
# Create a keyspace
admin.create_keyspace(
"KEYSPACE_NAME",
replication_options={
"class": "NetworkTopologyStrategy",
"datacenter1": 3,
"datacenter2": 2,
},
)
Client reference
For more information, see the client reference.