Share via


Tablo tabloları için Azure Cosmos DB'de kaynak kilitleme işlemleri için Azure CLI kullanma

ŞUNLAR IÇIN GEÇERLIDIR: Tablo

Bu makaledeki betik, Tablo tablosu için BIR API için kaynak kilitleme işlemleri gerçekleştirmeyi gösterir.

Önemli

Kaynak kilitlemeyi etkinleştirmek için Azure Cosmos DB hesabında özelliğin etkinleştirilmesi disableKeyBasedMetadataWriteAccess gerekir. Bu özellik, Azure Cosmos DB Tablo SDK'sı, Azure Depolama Tablo SDK'sı veya Azure portalı gibi hesap anahtarları aracılığıyla bağlanan istemcilerden gelen kaynaklarda değişiklik yapılmasını engeller. Daha fazla bilgi için bkz . SDK'lardan değişiklikleri engelleme.

Önkoşullar

  • Tablo hesabı, veritabanı ve tablo için bir Azure Cosmos DB oluşturmanız gerekir. Azure aboneliğiniz yoksa başlamadan önce birücretsiz Azure hesabı oluşturun.

    Önemli

    Kaynak kilitlerini oluşturmak veya silmek için Azure aboneliğinizde Sahip rolüne sahip olmanız gerekir.

  • Bu betik, Azure CLI 2.12.1 veya sonraki bir sürümü gerektirir.

    • Betiği Azure Cloud Shell'deki Bash ortamında çalıştırabilirsiniz. Cloud Shell açıldığında, kabuk penceresinin sol üst kısmındaki ortam alanında Bash'in göründüğünden emin olun. Cloud Shell her zaman Azure CLI'nin en son sürümüne sahiptir.

      Cloud Shell'in kimliği, Azure portalında oturum açmak için kullandığınız hesap altında otomatik olarak doğrulanır. farklı bir abonelikle oturum açmak için az account set komutunu kullanabilir, yerine <subscriptionId> Azure abonelik kimliğinizi kullanabilirsiniz.

      subscription="<subscriptionId>" # add subscription here
      
      az account set -s $subscription # ...or use 'az login'
      
    • İsterseniz, betiği yerel olarak çalıştırmak için Azure CLI'yı yükleyebilirsiniz. Yüklü Azure CLI sürümünü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın ve yükseltmeniz gerekirse az upgrade komutunu çalıştırın. İstenirse Azure CLI uzantılarını yükleyin. Windows veya macOS çalıştırıyorsanız Azure CLI'yi bir Docker kapsayıcısında çalıştırmayı göz önünde bulundurun.

      Yerel yükleme kullanıyorsanız az login komutunu çalıştırarak ve istemleri izleyerek Azure'da oturum açın. Diğer oturum açma seçenekleri için bkz . Azure CLI ile oturum açma.

Örnek betik

Aşağıdaki betik, Tablo için Azure Cosmos DB tablonuzda kaynak kilitlerini işlemek için Azure CLI az lock komutlarını kullanır. Betik, oluşturduğunuz Azure Cosmos DB hesabı ve table tablosu için , account adı ve adı gerekirresourceGroup.

# 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

Kaynakları temizleme

Oluşturduğunuz kaynaklara artık ihtiyacınız yoksa az group delete komutunu kullanarak kaynak grubunu ve içerdiği tüm kaynakları silin. Bu kaynaklar Azure Cosmos DB hesabını ve tablosunu içerir. Kaynakların silinmesi biraz zaman alabilir.

az group delete --name $resourceGroup

Sonraki adımlar