Menggunakan Azure CLI untuk membuat API untuk akun Cassandra, keyspace, dan tabel dengan skala otomatis
BERLAKU UNTUK: Cassandra
Skrip dalam artikel ini membuat Azure Cosmos DB untuk akun Apache Cassandra, keyspace, dan tabel dengan skala otomatis.
Prasyarat
-
Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.
Skrip ini memerlukan Azure CLI versi 2.12.1 atau yang lebih baru.
Anda dapat menjalankan skrip pada lingkungan Bash di Azure Cloud Shell. Saat Cloud Shell terbuka, pastikan untuk memilih Bash di bidang lingkungan di kiri atas jendela shell. Cloud Shell memiliki versi Azure CLI terbaru.
Jika mau, Anda dapat menginstal Azure CLI untuk menjalankan skrip secara lokal. Jalankan versi az untuk menemukan versi Azure CLI Anda, dan jalankan peningkatan az jika Anda perlu meningkatkannya. Masuk ke Azure dengan menjalankan masuk az.
Sampel skrip
Skrip ini menggunakan perintah berikut:
- az group create membuat grup sumber daya untuk menyimpan semua sumber daya.
- az cosmosdb create dengan
--capabilities EnableCassandra
parameter membuat API untuk akun Azure Cosmos DB dengan dukungan Cassandra. - az cosmosdb cassandra keyspace create membuat keyspace Cassandra Azure Cosmos DB.
- az cosmosdb cassandra table create dengan parameter
--max-throughput
yang diatur ke minimum4000
membuat tabel Cassandra Azure Cosmos DB dengan skala otomatis.
# 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"
Menghapus sumber daya
Jika Anda tidak memerlukan sumber daya yang Anda buat, gunakan perintah hapus grup az untuk menghapus grup sumber daya dan semua sumber daya yang ada di dalamnya, termasuk akun dan keyspace Azure Cosmos DB.
az group delete --name $resourceGroup