Azure CLI kullanarak Gremlin için Azure Cosmos DB veritabanı ve grafı için kaynak kilidi oluşturma
ŞUNLAR IÇIN GEÇERLIDIR: Gremlin
Bu makaledeki betik, Gremlin veritabanı ve grafı için kaynak kilitleme işlemleri gerçekleştirmeyi gösterir.
Önemli
Kaynak kilitleri oluşturmak için abonelikteki sahip rolüne sahip olmanız gerekir.
Azure Cosmos DB hesabı ilk olarak özelliği etkin olarak kilitlenmediği disableKeyBasedMetadataWriteAccess
sürece, gremlin SDK'sını veya Azure Portal'ı kullanarak bağlanan kullanıcılar tarafından yapılan değişiklikler için kaynak kilitleri çalışmaz. Bu özelliği etkinleştirme hakkında daha fazla bilgi edinmek için bkz . SDK'lardan değişiklikleri engelleme.
Azure aboneliğiniz yoksa başlamadan önce birücretsiz Azure hesabı oluşturun.
Önkoşullar
Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz . Azure Cloud Shell'de Bash için hızlı başlangıç.
CLI başvuru komutlarını yerel olarak çalıştırmayı tercih ediyorsanız Azure CLI'yı yükleyin . Windows veya macOS üzerinde çalışıyorsanız Azure CLI’yi bir Docker kapsayıcısında çalıştırmayı değerlendirin. Daha fazla bilgi için bkz . Docker kapsayıcısında Azure CLI'yi çalıştırma.
Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI ile oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Diğer oturum açma seçenekleri için bkz . Azure CLI ile oturum açma.
İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma.
Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.
- Bu makale 2.30 veya sonraki bir sürümü gerektirir. Sürümü bulmak için
az --version
komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme. Azure Cloud Shell kullanılıyorsa en son sürüm zaten yüklüdür.
Örnek betik
Azure Cloud Shell'i başlatma
Azure Cloud Shell, bu makaledeki adımları çalıştırmak için kullanabileceğiniz ücretsiz bir etkileşimli kabuktur. Yaygın Azure araçları, kabuğa önceden yüklenmiştir ve kabuk, hesabınızla birlikte kullanılacak şekilde yapılandırılmıştır.
Cloud Shell'i açmak için kod bloğunun sağ üst köşesinden Deneyin'i seçmeniz yeterlidir. İsterseniz https://shell.azure.com adresine giderek Cloud Shell'i ayrı bir tarayıcı sekmesinde de başlatabilirsiniz.
Cloud Shell açıldığında ortamınız için Bash'in seçili olduğunu doğrulayın. Sonraki oturumlarda Bash ortamında Azure CLI kullanılır, kod bloklarını kopyalamak için Kopyala'yı seçin, Cloud Shell'e yapıştırın ve çalıştırmak için Enter tuşuna basın.
Azure'da oturum açma
Cloud Shell'de oturum açılan ilk hesapta otomatik olarak kimlik doğrulaması yapılır. Farklı bir abonelik kullanarak oturum açmak için aşağıdaki betiği kullanın ve yerine <Subscription ID>
Azure Abonelik Kimliğiniz yazın. Azure aboneliğiniz yoksa başlamadan önce birücretsiz Azure hesabı oluşturun.
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
Daha fazla bilgi için bkz . Etkin aboneliği ayarlama veya etkileşimli olarak oturum açma
Betiği çalıştırın
# Resource lock operations for a Gremlin database and graph
# Subscription owner permissions required for this script
# Run this script after running
# "https://docs.microsoft.com/azure/cosmos-db/scripts/cli/gremln/create#sample-script"
# Variable block
# Use values from prerequisite script or from your environment
# resourceGroup="your resource group name"
# account="your account name"
# database="your database name"
# container="your container name"
# graph="your graph name"
lockType="CanNotDelete" # CanNotDelete or ReadOnly
databaseParent="databaseAccounts/$account"
graphParent="databaseAccounts/$account/gremlinDatabases/$database"
databaseLock="$database-Lock"
graphLock="$graph-Lock"
# Create a delete lock on database
echo "Creating $lockType lock on $database"
az lock create --name $databaseLock --resource-group $resourceGroup --resource-type Microsoft.DocumentDB/gremlinDatabases --lock-type $lockType --parent $databaseParent --resource $database
# Create a delete lock on graph
echo "Creating $lockType lock on $graph"
az lock create --name $graphLock --resource-group $resourceGroup --resource-type Microsoft.DocumentDB/graphs --lock-type $lockType --parent $graphParent --resource $graph
# 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 database
echo "Deleting $databaseLock on $database"
lockid=$(az lock show --name $databaseLock --resource-group $resourceGroup --resource-type Microsoft.DocumentDB/gremlinDatabases --resource $database --parent $databaseParent --output tsv --query id)
az lock delete --ids $lockid
# Delete lock on graph
echo "Deleting $graphLock on $graph"
lockid=$(az lock show --name $graphLock --resource-group $resourceGroup --resource-type Microsoft.DocumentDB/graphs --resource-name $graph --parent $graphParent --output tsv --query id)
az lock delete --ids $lockid
Kaynakları temizleme
Bu kaynaklara sürekli ihtiyaç duymadığınız sürece az group delete komutunu kullanarak kaynak grubunu ve onunla ilişkili tüm kaynakları kaldırmak için aşağıdaki komutu kullanın. Bu kaynaklardan bazılarının oluşturulması ve silinmesi biraz zaman alabilir.
az group delete --name $resourceGroup
Örnek başvuru
Bu betik aşağıdaki komutları kullanır. Tablodaki her komut, komuta özgü belgelere yönlendirir.
Command | Notlar |
---|---|
az lock create | Bir kilit oluşturur. |
az lock list | Kilit bilgilerini listeleyin. |
az lock show | Kilidin özelliklerini gösterir. |
az lock delete | Kilidi siler. |