Usar a CLI do Azure para criar uma API para a conta, o espaço de chaves e a tabela da Cassandra com dimensionamento automático
APLICA-SE A: Cassandra
O script neste artigo cria uma conta, um espaço de chave e uma tabela do Azure Cosmos DB para Apache Cassandra com dimensionamento automático.
Pré-requisitos
-
Se não tiver uma subscrição do Azure, crie uma conta gratuita do Azure antes de começar.
Este script requer a CLI do Azure versão 2.12.1 ou posterior.
Você pode executar o script no ambiente Bash no Azure Cloud Shell. Quando o Cloud Shell abrir, certifique-se de selecionar Bash no campo de ambiente no canto superior esquerdo da janela do shell. O Cloud Shell tem a versão mais recente da CLI do Azure.
Se preferir, você pode instalar a CLI do Azure para executar o script localmente. Execute az version para localizar sua versão da CLI do Azure e execute az upgrade se precisar atualizar. Entre no Azure executando az login.
Script de exemplo
Este script utiliza os seguintes comandos:
- az group create cria um grupo de recursos para armazenar todos os recursos.
- az cosmosdb create com o parâmetro cria uma API para a
--capabilities EnableCassandra
conta do Azure Cosmos DB habilitada para Cassandra. - az cosmosdb cassandra keyspace create cria um keyspace Cassandra do Azure Cosmos DB.
- az cosmosdb cassandra table create with the
--max-throughput
parameter set to minimum4000
cria uma tabela Cassandra do Azure Cosmos DB com autoscale.
# 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
Se você não precisar dos recursos criados, use o comando az group delete para excluir o grupo de recursos e todos os recursos que ele contém, incluindo a conta do Azure Cosmos DB e o keyspace.
az group delete --name $resourceGroup