Azure CLI kullanarak otomatik ölçeklendirme ile Cassandra hesabı, anahtar alanı ve tablo için API oluşturma
ŞUNLAR IÇIN GEÇERLIDIR: Cassandra
Bu makaledeki betik, otomatik ölçeklendirme ile Apache Cassandra hesabı, anahtar alanı ve tablo için bir Azure Cosmos DB oluşturur.
Önkoşullar
-
Azure aboneliğiniz yoksa başlamadan önce birücretsiz Azure hesabı oluşturun.
Bu betik, Azure CLI 2.12.1 veya sonraki bir sürümü gerektirir.
Betiği Azure Cloud Shell'deki Bash ortamında çalıştırabilirsiniz. Cloud Shell açıldığında, kabuk penceresinin sol üst kısmındaki ortam alanında Bash'i seçtiğinizden emin olun. Cloud Shell, Azure CLI'nın en son sürümüne sahiptir.
İsterseniz, betiği yerel olarak çalıştırmak için Azure CLI'yı yükleyebilirsiniz. Azure CLI sürümünüzü bulmak için az version komutunu çalıştırın ve yükseltmeniz gerekiyorsa az upgrade komutunu çalıştırın. az login komutunu çalıştırarak Azure'da oturum açın.
Örnek betik
Bu betik şu komutları kullanır:
- az group create , tüm kaynakları depolamak için bir kaynak grubu oluşturur.
- parametresiyle
--capabilities EnableCassandra
az cosmosdb create, Cassandra özellikli Azure Cosmos DB hesabı için bir API oluşturur. - az cosmosdb cassandra keyspace create bir Azure Cosmos DB Cassandra anahtar alanı oluşturur.
- az cosmosdb cassandra table create with the
--max-throughput
parameter set to minimum4000
, autoscale ile bir Azure Cosmos DB Cassandra tablosu oluşturur.
# 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"
Kaynakları silme
Oluşturduğunuz kaynaklara ihtiyacınız yoksa az group delete komutunu kullanarak Azure Cosmos DB hesabı ve anahtar alanı dahil olmak üzere kaynak grubunu ve içerdiği tüm kaynakları silin.
az group delete --name $resourceGroup