Compartilhar via


Operações de taxa de transferência (RU/s) com a CLI do Azure para um banco de dados ou grafo para a API do Azure Cosmos DB para Gremlin

Caso você não tenha uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar.

O script neste artigo cria um banco de dados do Gremlin com taxa de transferência compartilhada e um grafo do Gremlin com taxa de transferência dedicada e, em seguida, atualiza a taxa de transferência para o banco de dados e o grafo. Em seguida, o script faz a migração da taxa de transferência padrão para a de dimensionamento automático e lê o valor da taxa de transferência de dimensionamento automático após a migração.

Pré-requisitos

  • Este artigo requer a versão 2.30 ou posterior. Execute az --version para encontrar a versão. Se você precisa instalar ou atualizar, consulte Instalar a CLI do Azure. Se você está usando o Azure Cloud Shell, a versão mais recente já está instalada.

Exemplo de script

Iniciar o Azure Cloud Shell

O Azure Cloud Shell é um shell gratuito e interativo que poderá ser usado para executar as etapas deste artigo. Ele tem ferramentas do Azure instaladas e configuradas para usar com sua conta.

Para abrir o Cloud Shell, basta selecionar Experimentar no canto superior direito de um bloco de código. Você também pode iniciar o Cloud Shell em uma guia separada do navegador indo até https://shell.azure.com.

Quando o Cloud Shell abrir, verifique se o Bash está selecionado para o ambiente. As sessões subsequentes usarão a CLI do Azure em um ambiente Bash. Selecione Copiar para copiar os blocos de código, cole-os no Cloud Shell e pressione Enter para executá-los.

Entrar no Azure

O Cloud Shell é autenticado automaticamente na conta inicial usada para entrar. Use o seguinte script para entrar usando uma assinatura diferente, substituindo <Subscription ID> pela ID da Assinatura do Azure. Caso você não tenha uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar.

subscription="<subscriptionId>" # add subscription here

az account set -s $subscription # ...or use 'az login'

Para saber mais, confira definir assinatura ativa ou fazer logon de forma interativa

Executar o script

# Throughput operations for a Gremlin API database and graph

# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-cosmosdb-rg-$randomIdentifier"
tag="throughput-gremlin-cosmosdb"
account="msdocs-account-cosmos-$randomIdentifier" #needs to be lower case
database="msdocs-db-gremlin-cosmos"
graph="msdocs-graph1-gremlin-cosmos"
partitionKey="/partitionKey"
originalThroughput=400
updateThroughput=500

# Create a resource group 
az group create --name $resourceGroup --location "$location" --tags $tag

# Create a Cosmos account for Gremlin API
echo "Creating $account"
az cosmosdb create --name $account --resource-group $resourceGroup --capabilities EnableGremlin

# Create Gremlin database with throughput
echo "Creating $database with $originalThroughput"
az cosmosdb gremlin database create --account-name $account --resource-group $resourceGroup --name $database --throughput $originalThroughput

# Create Gremlin graph with throughput 
echo "Creating $graph with $originalThroughput"
az cosmosdb gremlin graph create --account-name $account --resource-group $resourceGroup --database-name $database --name $graph --partition-key-path $partitionKey --throughput $originalThroughput

# Throughput operations for Gremlin API database
#   Read the current throughput
#   Read the minimum throughput
#   Make sure the updated throughput is not less than the minimum
#   Update the throughput
#   Migrate between standard (manual) and autoscale throughput
#   Read the autoscale max throughput

# Retrieve the current provisioned database throughput
az cosmosdb gremlin database throughput show --resource-group $resourceGroup --account-name $account --name $database --query resource.throughput -o tsv

# Retrieve the minimum allowable database throughput
minimumThroughput=$(az cosmosdb gremlin database throughput show --resource-group $resourceGroup --account-name $account --name $database --query resource.minimumThroughput -o tsv)

echo $minimumThroughput

# Make sure the updated throughput is not less than the minimum allowed throughput
if [ $updateThroughput -lt $minimumThroughput ]; then
    updateThroughput=$minimumThroughput
fi

# Update database throughput
echo "Updating $database throughput to $updateThroughput"
az cosmosdb gremlin database throughput update --account-name $account --resource-group $resourceGroup --name $database --throughput $updateThroughput

# Migrate the database from standard (manual) throughput to autoscale throughput
az cosmosdb gremlin database throughput migrate --account-name $account --resource-group $resourceGroup --name $database --throughput-type "autoscale"

# Retrieve current autoscale provisioned max database throughput
az cosmosdb gremlin database throughput show --resource-group $resourceGroup --account-name $account --name $database --query resource.autoscaleSettings.maxThroughput -o tsv

# Throughput operations for Gremlin API graph
#   Read the current throughput
#   Read the minimum throughput
#   Make sure the updated throughput is not less than the minimum
#   Update the throughput
#   Migrate between standard (manual) and autoscale throughput
#   Read the autoscale max throughput

# Retrieve the current provisioned graph throughput
az cosmosdb gremlin graph throughput show --resource-group $resourceGroup --account-name $account --database $database --name $graph --query resource.throughput -o tsv

# Retrieve the minimum allowable graph throughput
minimumThroughput=$(az cosmosdb gremlin graph throughput show --resource-group $resourceGroup --account-name $account --database $database --name $graph --query resource.minimumThroughput -o tsv)
echo $minimumThroughput

# Make sure the updated throughput is not less than the minimum allowed throughput
if [ $updateThroughput -lt $minimumThroughput ]; then
    updateThroughput=$minimumThroughput
fi

# Update graph throughput
echo "Updating $graph throughput to $updateThroughput"
az cosmosdb gremlin graph throughput update --resource-group $resourceGroup --account-name $account --database $database --name $graph --throughput $updateThroughput

# Migrate the graph from standard (manual) throughput to autoscale throughput
az cosmosdb gremlin graph throughput migrate --account-name $account --resource-group $resourceGroup --database $database --name $graph --throughput-type "autoscale"

# Retrieve the current autoscale provisioned max graph throughput
az cosmosdb gremlin graph throughput show --resource-group $resourceGroup --account-name $account --database $database --name $graph --query resource.autoscaleSettings.maxThroughput -o tsv

Limpar os recursos

Use o comando a seguir para remover o grupo de recursos e todos os recursos associados a ele usando o comando az group delete, a menos que você necessite desses recursos com frequência. A criação e a exclusão de alguns desses recursos podem demorar um pouco.

az group delete --name $resourceGroup

Exemplo de referência

Este script usa os comandos a seguir. Cada comando da tabela é vinculado à documentação específica do comando.

Comando Observações
az group create Cria um grupo de recursos no qual todos os recursos são armazenados.
az cosmosdb create Cria uma conta do Banco de Dados Cosmos do Azure.
az cosmosdb gremlin database create Cria um banco de dados do Azure Cosmos DB para Gremlin.
az cosmosdb gremlin graph create Cria um grafo do Azure Cosmos DB para Gremlin.
az cosmosdb gremlin database throughput update Atualiza RU/s de um banco de dados do Azure Cosmos DB para Gremlin.
az cosmosdb gremlin graph throughput update Atualiza RU/s de um grafo do Azure Cosmos DB para Gremlin.
az cosmosdb gremlin database throughput migrate Migra a taxa de transferência para um banco de dados do Azure Cosmos DB para Gremlin.
az cosmosdb gremlin graph throughput migrate Migra a taxa de transferência para um grafo do Azure Cosmos DB para Gremlin.
az group delete Exclui um grupo de recursos, incluindo todos os recursos aninhados.

Próximas etapas

Para obter mais informações sobre a CLI do Azure Cosmos DB, confira documentação da CLI do Azure Cosmos DB.