Azure CLI gebruiken voor resourcevergrendelingsbewerkingen in Azure Cosmos DB voor tabeltabellen
VAN TOEPASSING OP: Tafel
Het script in dit artikel laat zien hoe u resourcevergrendelingsbewerkingen uitvoert voor een API voor tabeltabel.
Belangrijk
Als u resourcevergrendeling wilt inschakelen, moet voor het Azure Cosmos DB-account de disableKeyBasedMetadataWriteAccess
eigenschap zijn ingeschakeld. Met deze eigenschap voorkomt u wijzigingen in resources van clients die verbinding maken via accountsleutels, zoals de Azure Cosmos DB Table SDK, Azure Storage Table SDK of Azure Portal. Zie Voorkomen van wijzigingen van SDK's voor meer informatie.
Vereisten
U hebt een Azure Cosmos DB voor tabelaccount, -database en - tabel nodig. Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.
Belangrijk
Als u resourcevergrendelingen wilt maken of verwijderen, moet u de rol Eigenaar hebben in uw Azure-abonnement.
Voor dit script is Azure CLI versie 2.12.1 of hoger vereist.
U kunt het script uitvoeren in de Bash-omgeving in Azure Cloud Shell. Wanneer Cloud Shell wordt geopend, controleert u of Bash wordt weergegeven in het omgevingsveld linksboven in het shell-venster. Cloud Shell heeft altijd de nieuwste versie van Azure CLI.
Cloud Shell wordt automatisch geverifieerd onder het account dat u hebt gebruikt om u aan te melden bij Azure Portal. U kunt az account set gebruiken om u aan te melden met een ander abonnement, waarbij u uw Azure-abonnements-id
<subscriptionId>
vervangt.subscription="<subscriptionId>" # add subscription here az account set -s $subscription # ...or use 'az login'
Als u wilt, kunt u Azure CLI installeren om het script lokaal uit te voeren. Voer az version uit om de Azure CLI-versie en afhankelijke bibliotheken te vinden die zijn geïnstalleerd en voer az upgrade uit als u een upgrade wilt uitvoeren. Als u hierom wordt gevraagd, installeert u Azure CLI-extensies. Als u Windows of macOS gebruikt, kunt u Overwegen Om Azure CLI uit te voeren in een Docker-container.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure door az login uit te voeren en de aanwijzingen te volgen. Raadpleeg Aanmelden bij Azure CLI voor aanvullende aanmeldingsopties.
Voorbeeldscript
Het volgende script maakt gebruik van Azure CLI az lock-opdrachten voor het bewerken van resourcevergrendelingen in uw Azure Cosmos DB for Table-tabel. Het script heeft de resourceGroup
, account
naam en table
naam nodig voor het Azure Cosmos DB-account en de tabel die u hebt gemaakt.
- az lock create maakt een
CanNotDelete
resourcevergrendeling in de tabel. - az lock list bevat alle vergrendelingsgegevens voor uw Azure Cosmos DB Table-account.
- az lock delete uses az lock show to get the
id
of the lock on your table, and then uses thelockid
property to delete the lock.
# 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
Resources opschonen
Als u de resources die u hebt gemaakt niet meer nodig hebt, gebruikt u de opdracht az group delete om de resourcegroep en alle resources die deze bevat te verwijderen. Deze resources omvatten het Azure Cosmos DB-account en de tabel. Het kan even duren voordat de resources zijn verwijderd.
az group delete --name $resourceGroup