Использование Azure CLI для создания API для учетной записи Cassandra, пространства ключей и таблицы с автомасштабированием
Область применения: Кассандра
Сценарий в этой статье создает учетную запись Azure Cosmos DB для учетной записи Apache Cassandra, пространства ключей и таблицы с автомасштабированием.
Необходимые компоненты
-
Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
Для этого скрипта требуется Azure CLI 2.12.1 или более поздней версии.
Скрипт можно запустить в среде Bash в Azure Cloud Shell. Когда Cloud Shell откроется, выберите Bash в поле среды в левом верхнем углу окна оболочки. Cloud Shell содержит последнюю версию Azure CLI.
При желании вы можете установить Azure CLI для локального запуска скрипта. Выполните команду az version, чтобы узнать вашу версию Azure CLI, а затем выполните команду az upgrade, если требуется выполнить обновление. Войдите в Azure, выполнив команду az login.
Пример скрипта
Этот сценарий использует следующие команды:
- Команда az group create создает группу ресурсов для хранения всех ресурсов.
- az cosmosdb create with the
--capabilities EnableCassandra
parameter create a API for Cassandra-enabled Azure Cosmos DB account. - Команда az cosmosdb cassandra keyspace create создает пространство ключей Cassandra в Azure Cosmos DB.
- Команда az cosmosdb cassandra table create с параметром
--max-throughput
, для которого задано минимальное значение4000
, создает таблицу Cassandra с автомасштабированием в Azure Cosmos DB.
# 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