Uso de la CLI de Azure para crear una tabla, un espacio de claves y una cuenta de API para Cassandra con escalabilidad automática
SE APLICA A: Cassandra
El script de este artículo crea una tabla, un espacio de claves y una cuenta de Azure Cosmos DB for Apache Cassandra con escalabilidad automática.
Requisitos previos
-
Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar.
Este script requiere la versión 2.12.1 de la CLI de Azure, o cualquier versión posterior.
Puede ejecutar el script en el entorno de Bash en Azure Cloud Shell. Cuando se abra Cloud Shell, asegúrese de seleccionar Bash en el campo de entorno, en la parte superior izquierda de la ventana del shell. Cloud Shell tiene la versión más reciente de la CLI de Azure.
Si lo prefiere, puede instalar la CLI de Azure para ejecutar el script localmente. Ejecute az version para buscar la versión de la CLI de Azure y ejecute az upgrade si necesita actualizarla. Ejecute az login para iniciar sesión en Azure.
Script de ejemplo
Este script usa los siguientes comandos:
- az group create crea un grupo de recursos para almacenar todos los recursos.
- az cosmosdb create con el parámetro
--capabilities EnableCassandra
crea una cuenta de Azure Cosmos DB habilitada para API para Cassandra. - az cosmosdb cassandra keyspace create crea un espacio de claves de Cassandra para Azure Cosmos DB.
- az cosmosdb cassandra table create con el parámetro
--max-throughput
establecido como mínimo en4000
crea una tabla de Cassandra para Azure Cosmos DB con escalabilidad automática.
# Create a Cassandra keyspace and table with autoscale
# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-cosmosdb-rg-$randomIdentifier"
tag="autoscale-casandra-cosmosdb"
account="msdocs-account-cosmos-$randomIdentifier" #needs to be lower case
keySpace="keyspace1-$randomIdentifier"
table="table1-$randomIdentifier"
maxThroughput=1000 #minimum = 1000
# Create a resource group
echo "Creating $resourceGroup in $location..."
az group create --name $resourceGroup --location "$location" --tags $tag
# Create a Cosmos account for Cassandra API
echo "Creating $account"
az cosmosdb create --name $account --resource-group $resourceGroup --capabilities EnableCassandra --default-consistency-level Eventual --locations regionName="$location" failoverPriority=0 isZoneRedundant=False
# Create a Cassandra Keyspace
echo "Create $keySpace"
az cosmosdb cassandra keyspace create --account-name $account --resource-group $resourceGroup --name $keySpace
# Define the schema for the table
schema=$(cat << EOF
{
"columns": [
{"name": "columna","type": "uuid"},
{"name": "columnb","type": "int"},
{"name": "columnc","type": "text"}
],
"partitionKeys": [
{"name": "columna"}
],
"clusterKeys": [
{ "name": "columnb", "orderBy": "asc" }
]
}
EOF
)
# Persist schema to json file
echo "$schema" > "schema-$randomIdentifier.json"
# Create the Cassandra table
echo "Creating $table"
az cosmosdb cassandra table create --account-name $account --resource-group $resourceGroup --keyspace-name $keySpace --name $table --max-throughput $maxThroughput --schema @schema-$randomIdentifier.json
# Clean up temporary schema file
rm -f "schema-$randomIdentifier.json"
Eliminar recursos
Si no necesita los recursos creados, use el comando az group delete para eliminar el grupo de recursos y todos los recursos que contenga, incluida la cuenta y el espacio de claves de Azure Cosmos DB.
az group delete --name $resourceGroup