Utiliser Azure CLI pour créer une API pour un compte, un espace de clés et une table Cassandra avec mise à l’échelle automatique
S’APPLIQUE À : Cassandra
Le script de cet article crée un compte Azure Cosmos DB for Cassandra, un espace de clés et une table avec mise à l’échelle automatique.
Prérequis
-
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.
Ce script requiert Azure CLI version 2.12.1 ou ultérieure.
Vous pouvez exécuter le script dans l’environnement Bash dans Azure Cloud Shell. Lorsque Cloud Shell s’ouvre, veillez à sélectionner Bash dans le champ d’environnement en haut à gauche de la fenêtre du shell. Cloud Shell dispose de la dernière version d'Azure CLI.
Si vous préférez, vous pouvez installer Azure CLI pour exécuter le script localement. Exécutez az version pour rechercher votre version d’Azure CLI, et exécutez az upgrade si vous devez effectuer une mise à niveau. Connectez-vous à Azure en exécutant az login.
Exemple de script
Ce script utilise les commandes suivantes :
- az group create crée un groupe de ressources pour stocker toutes les ressources.
- az cosmosdb create avec le paramètre
--capabilities EnableCassandra
crée un compte Azure Cosmos DB compatible avec l'API pour Cassandra. - az cosmosdb cassandra keyspace create crée un espace de clés Azure Cosmos DB Cassandra.
- az cosmosdb cassandra table create avec le paramètre
--max-throughput
défini sur un minimum de4000
crée une table Azure Cosmos DB Cassandra avec mise à l’échelle automatique.
# 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"
Supprimer des ressources
Si vous n’avez pas besoin des ressources créées, utilisez la commande az group delete pour supprimer le groupe de ressources et toutes les ressources qu’il contient, y compris le compte et l’espace de clés Azure Cosmos DB.
az group delete --name $resourceGroup