Używanie interfejsu wiersza polecenia platformy Azure na potrzeby operacji blokowania zasobów w usłudze Azure Cosmos DB dla tabel

DOTYCZY: Tabeli

Skrypt w tym artykule przedstawia wykonywanie operacji blokowania zasobów dla interfejsu API dla tabeli tabel.

Ważne

Aby włączyć blokowanie zasobów, konto usługi Azure Cosmos DB musi mieć włączoną disableKeyBasedMetadataWriteAccess właściwość . Ta właściwość zapobiega wszelkim zmianom zasobów od klientów łączących się za pośrednictwem kluczy konta, takich jak zestaw SDK tabel usługi Azure Cosmos DB, zestaw SDK tabel usługi Azure Storage lub witryna Azure Portal. Aby uzyskać więcej informacji, zobacz Zapobieganie zmianom z zestawów SDK.

Wymagania wstępne

Przykładowy skrypt

Poniższy skrypt używa poleceń az lock interfejsu wiersza polecenia platformy Azure do manipulowania blokadami zasobów w tabeli usługi Azure Cosmos DB dla tabel. Skrypt wymaga nazwy resourceGroupaccount i table nazwy utworzonego konta i tabeli usługi Azure Cosmos DB.

# 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

Czyszczenie zasobów

Jeśli nie potrzebujesz już utworzonych zasobów, użyj polecenia az group delete , aby usunąć grupę zasobów i wszystkie zawarte w niej zasoby. Te zasoby obejmują konto i tabelę usługi Azure Cosmos DB. Usunięcie zasobów może zająć trochę czasu.

az group delete --name $resourceGroup

Następne kroki