Compartilhar via


Usar a CLI do Azure para operações de bloqueio de recursos em tabelas do Azure Cosmos DB for Table

APLICA-SE AO: Table

O script nesse artigo demonstra como realizar operações de bloqueio de recurso para uma API de tabela.

Importante

Para habilitar o bloqueio de recursos, a conta do Azure Cosmos DB precisa ter a propriedade disableKeyBasedMetadataWriteAccess habilitada. Essa propriedade impede alterações nos recursos de clientes que se conectam por meio de chaves de conta, como o SDK de Tabela do Azure Cosmos DB, o SDK de Tabela do Armazenamento do Azure ou o portal do Azure.

Pré-requisitos

Exemplo de script

O script a seguir usa comandos az lock da CLI do Azure para manipular bloqueios de recursos na tabela do Azure Cosmos DB for Table. O script precisa do resourceGroup, do nome da account e do nome da table da tabela do Azure Cosmos DB que você criou.

  • az lock create cria um bloqueio de recurso CanNotDelete na tabela.
  • az lock list lista todas as informações do bloqueio para a conta da Tabela do Azure Cosmos DB.
  • az lock delete usa az lock show para obter o id do bloqueio na tabela e usa a propriedade lockid para excluir o bloqueio.
# 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

Limpar os recursos

Caso não precise mais dos recursos criados, use o comando az group delete para excluir o grupo de recursos e todos os recursos que ele contém. Esses recursos incluem a conta e a tabela do Azure Cosmos DB. Os recursos podem demorar um pouco para serem excluídos.

az group delete --name $resourceGroup

Próximas etapas