Dela via


Dataflödesåtgärder (RU/s) med Azure CLI för en tabell för Azure Cosmos DB för table

GÄLLER FÖR: Bord

Skriptet i den här artikeln skapar ett API för tabelltabellen och uppdaterar sedan tabellens dataflöde. Skriptet migrerar sedan från standard till autoskalningsdataflöde och läser sedan värdet för autoskalningsdataflödet när det har migrerats.

Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.

Förutsättningar

  • Den här artikeln kräver version 2.12.1 eller senare. Kör az --version för att hitta versionen. Om du behöver installera eller uppgradera kan du läsa Installera Azure CLI. Om du använder Azure Cloud Shell är den senaste versionen redan installerad.

Exempelskript

Starta Azure Cloud Shell

Azure Cloud Shell är ett interaktivt gränssnitt som du kan använda för att utföra stegen i den här artikeln. Den har vanliga Azure-verktyg förinstallerat och har konfigurerats för användning med ditt konto.

Om du vill öppna Cloud Shell väljer du bara Prova från det övre högra hörnet i ett kodblock. Du kan också starta Cloud Shell i en separat webbläsarflik genom att gå till https://shell.azure.com.

När Cloud Shell öppnas kontrollerar du att Bash har valts för din miljö. Efterföljande sessioner använder Azure CLI i en Bash-miljö, Välj Kopiera för att kopiera kodblocken, klistra in dem i Cloud Shell och tryck på Retur för att köra det.

Logga in på Azure

Cloud Shell autentiseras automatiskt under det första kontot som loggas in med. Använd följande skript för att logga in med en annan prenumeration och ersätt <Subscription ID> med ditt Azure-prenumerations-ID. Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.

subscription="<subscriptionId>" # add subscription here

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

Mer information finns i ange en aktiv prenumeration eller logga in interaktivt

Kör skriptet

# Throughput operations for a Table API table

# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-cosmosdb-rg-$randomIdentifier"
tag="throughput-table-cosmosdb"
account="msdocs-account-cosmos-$randomIdentifier" #needs to be lower case
table="msdocs-table-cosmos-$randomIdentifier"
originalThroughput=400
updateThroughput=500

# Create a resource group
echo "Creating $resourceGroup in $location..."
az group create --name $resourceGroup --location "$location" --tags $tag

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

# Create a Table API Table with autoscale
echo "Create $table with $maxThroughput"
az cosmosdb table create --account-name $account --resource-group $resourceGroup --name $table --throughput $originalThroughput

# Throughput operations for Table API table
#   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 table throughput
az cosmosdb table throughput show --name $table --resource-group $resourceGroup --account-name $account --query resource.throughput -o tsv

# Retrieve the minimum allowable table throughput
minimumThroughput=$(az cosmosdb table throughput show --resource-group $resourceGroup --account-name $account --name $table --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 table throughput
echo "Updating $table throughput to $updateThroughput"
az cosmosdb table throughput update --account-name $account --resource-group $resourceGroup --name $table --throughput $updateThroughput

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

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

Rensa resurser

Använd följande kommando för att ta bort resursgruppen och alla resurser som är associerade med den med kommandot az group delete – såvida du inte har ett pågående behov av dessa resurser. Vissa av dessa resurser kan ta ett tag att skapa och ta bort.

az group delete --name $resourceGroup

Exempelreferens

Det här skriptet använder följande kommandon. Varje kommando i tabellen länkar till kommandospecifik dokumentation.

Command Kommentar
az group create Skapar en resursgrupp där alla resurser lagras.
az cosmosdb create Skapar ett Azure Cosmos DB-konto.
az cosmosdb table create Skapar en Tabell-API-tabell för Azure Cosmos DB.
az cosmosdb table throughput update Uppdatera dataflödet för en Tabell-API-tabell för Azure Cosmos DB.
az cosmosdb table throughput migrate Migrera dataflöde för en Tabell-API-tabell för Azure Cosmos DB.
az group delete Tar bort en resursgrupp, inklusive alla kapslade resurser.

Nästa steg

Mer information om Azure Cosmos DB CLI finns i Dokumentation om Azure Cosmos DB CLI.