你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 Azure CLI 创建 API for Cassandra 帐户、密钥空间和表(具有自动缩放功能)
适用对象: Cassandra
本文中的脚本会创建具有自动缩放功能的 Azure Cosmos DB for Apache Cassandra 帐户、密钥空间和表。
先决条件
-
如果没有 Azure 订阅,请在开始之前创建一个 Azure 免费帐户。
此脚本需要使用 Azure CLI 2.12.1 或更高版本。
可以在 Azure Cloud Shell的 Bash 环境中运行脚本。 Cloud Shell 打开时,请确保在 shell 窗口左上角的环境字段中选择“Bash”。 Cloud Shell 具有最新版本的 Azure CLI。
如果愿意,可以安装 Azure CLI 以在本地运行脚本。 运行 az version 以查找 Azure CLI 版本,如果需要升级,请运行 az upgrade。 通过运行 az login 登录到 Azure。
示例脚本
此脚本使用以下命令:
- 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="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"
删除资源
如果不需要创建的资源,请使用 az group delete 命令删除资源组及其包含的所有资源,包括 Azure Cosmos DB 帐户和密钥空间。
az group delete --name $resourceGroup