使用 Azure CLI 创建 API for Cassandra 帐户、密钥空间和表(具有自动缩放功能)
适用对象: Cassandra
本文中的脚本会创建具有自动缩放功能的 Azure Cosmos DB for Apache Cassandra 帐户、密钥空间和表。
先决条件
-
如果没有 Azure 试用版订阅,请在开始前创建一个试用版订阅。
此脚本需要使用 Azure CLI 2.12.1 或更高版本。
如果愿意,可以安装 Azure CLI 以在本地运行脚本。 运行 az version 以查找 Azure CLI 版本,如果需要升级,请运行 az upgrade。 通过运行 az login 登录到 Azure。
注意
在可以在由世纪互联运营的 Microsoft Azure 中使用 Azure CLI 之前,请先运行
az cloud set -n AzureChinaCloud
来更改云环境。 若要切换回 Azure 公有云,请再次运行az cloud set -n AzureCloud
。
示例脚本
此脚本使用以下命令:
- az group create 创建资源组来存储所有资源。
- az cosmosdb create 使用
--capabilities EnableCassandra
参数创建已启用 API for Cassandra 的 Azure Cosmos DB 帐户。 - az cosmosdb cassandra keyspace create 创建 Azure Cosmos DB Cassandra 密钥空间。
- az cosmosdb cassandra table create,将
--max-throughput
参数设置为最低4000
,创建 Azure Cosmos DB Cassandra 表(具有自动缩放功能)。
# Create a Cassandra keyspace and table with autoscale
# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="chinanorth2"
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"
# </FullScript>
# </FullScript>
# echo "Deleting all resources"
# az group delete --name $resourceGroup -y
删除资源
如果不需要创建的资源,请使用 az group delete 命令删除资源组及其包含的所有资源,包括 Azure Cosmos DB 帐户和密钥空间。
az group delete --name $resourceGroup