Condividi tramite


Usare l'interfaccia della riga di comando di Azure per le operazioni di blocco delle risorse nelle tabelle Azure Cosmos DB for Table

SI APPLICA A: Tabella

Lo script di questo articolo illustra l'esecuzione di operazioni di blocco delle risorse per un'API per la tabella Table.

Importante

Per abilitare il blocco delle risorse, l'account Azure Cosmos DB deve avere la proprietà disableKeyBasedMetadataWriteAccess abilitata. Questa proprietà impedisce modifiche alle risorse dai client che si connettono tramite chiavi dell'account, ad esempio Azure Cosmos DB Table SDK, Azure Storage Table SDK o il portale di Azure. Per altre informazioni, vedere Impedire le modifiche dagli SDK.

Prerequisiti

Script di esempio

Lo script seguente usa i comandi az lock dell'interfaccia della riga di comando di Azure per modificare i blocchi delle risorse nella tabella di Azure Cosmos DB for Table. Lo script richiede resourceGroup, il nome account e il nome table per l'account e la tabella di Azure Cosmos DB creati.

  • az lock create crea un blocco di risorse CanNotDelete nella tabella.
  • az lock list elenca tutte le informazioni di blocco per l'account di Azure Cosmos DB Table.
  • az lock delete usa az lock show per ottenere il id del blocco nella tabella e quindi usa la proprietà lockid per eliminare il blocco.
# Resource lock operations for a Table API table

# Subscription owner permissions required for this script

# Run this script after running
# "https://docs.microsoft.com/azure/cosmos-db/scripts/cli/table/create#sample-script"

# Variable block
# Use values from prerequisite script or from your environment
# resourceGroup="your resource group name"
# account="your account name"
# table="your table name"

lockType='CanNotDelete' # CanNotDelete or ReadOnly
tableParent="databaseAccounts/$account"
tableResourceType="Microsoft.DocumentDB/tables"
tableLock='$table-Lock'

# Create a delete lock on table
echo "Creating $lockType lock on $table"
az lock create --name $tableLock --resource-group $resourceGroup --resource-type $tableResourceType --lock-type $lockType --parent $tableParent --resource $table 

# List all locks on a Cosmos account
echo "Listing locks on $account"
az lock list --resource-group $resourceGroup --resource-name $account --namespace Microsoft.DocumentDB --resource-type databaseAccounts

# Delete lock on table
echo "Deleting $tableLock on $table"
lockid=$(az lock show --name $tableLock --resource-group $resourceGroup --resource-type $tableResourceType --resource $table --parent $tableParent --output tsv --query id)
az lock delete --ids $lockid

Pulire le risorse

Se le risorse create non sono più necessarie, usare il comando az group delete per eliminare il gruppo di risorse e tutte le risorse in esso contenute. Queste risorse includono l'account e la tabella di Azure Cosmos DB. L'eliminazione delle risorse potrebbe richiedere alcuni minuti.

az group delete --name $resourceGroup

Passaggi successivi