Azure PowerShell kullanarak NoSQL için Azure Cosmos DB veritabanı ve kapsayıcısı için kaynak kilidi oluşturma
UYGULANANLAR: NoSQL
Not
Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.
Bu örnek Için Azure PowerShell Az 5.4.0 veya üzeri gerekir. Hangi sürümlerin yüklü olduğunu görmek için komutunu çalıştırın Get-Module -ListAvailable Az
.
Yüklemeniz gerekiyorsa bkz . Azure PowerShell modülünü yükleme.
Azure'da oturum açmak için Connect-AzAccount komutunu çalıştırın.
Önemli
Kaynak kilitleri, Azure Cosmos DB SDK'sı kullanarak bağlanan kullanıcıların yaptığı değişiklikler, hesap anahtarları aracılığıyla bağlanan araçlar veya Azure Cosmos DB hesabı ilk olarak özelliği etkin olarak kilitlenmediği disableKeyBasedMetadataWriteAccess
sürece Azure Portal için çalışmaz. Bu özelliği etkinleştirme hakkında daha fazla bilgi edinmek için bkz . SDK'lardan değişiklikleri engelleme.
Örnek betik
# References:
# Az.CosmosDB | https://docs.microsoft.com/powershell/module/az.cosmosdb
# Az.Resources | https://docs.microsoft.com/powershell/module/az.resources
# --------------------------------------------------
# Purpose
#
# --------------------------------------------------
# Variables
# ***** SUBSTITUTE YOUR VALUES *****
$resourceGroupName = "myResourceGroup"
$accountName = "myaccount"
$databaseName = "myDatabase"
$collectionName = "myContainer"
# *****
$apiVersion = "2020-04-01" # Cosmos DB RP API version
$lockLevel = "CanNotDelete" # CanNotDelete or ReadOnly
$resourceTypeAccount = "Microsoft.DocumentDB/databaseAccounts"
$resourceTypeDatabase = "$resourceTypeAccount/sqlDatabases"
$resourceTypeCollection = "$resourceTypeDatabase/containers"
$resourceNameDatabase = "$accountName/$databaseName"
$lockNameDatabase = "$accountName-$databaseName-Lock"
$resourceNameCollection = "$accountName/$databaseName/$collectionName"
$lockNameCollection = "$accountName-$databaseName-$collectionName-Lock"
# --------------------------------------------------
Write-Host "Create a $lockLevel lock on resource $resourceNameDatabase"
New-AzResourceLock `
-ApiVersion $apiVersion `
-ResourceGroupName $resourceGroupName `
-ResourceType $resourceTypeDatabase `
-ResourceName $resourceNameDatabase `
-LockName $lockNameDatabase `
-LockLevel $lockLevel `
-Force
Write-Host "Create a $lockLevel lock on resource $resourceNameCollection"
New-AzResourceLock `
-ApiVersion $apiVersion `
-ResourceGroupName $resourceGroupName `
-ResourceType $resourceTypeCollection `
-ResourceName $resourceNameCollection `
-LockName $lockNameCollection `
-LockLevel $lockLevel `
-Force
Write-Host "List all locks on Cosmos DB account $accountName to confirm lock creation"
Get-AzResourceLock `
-ApiVersion $apiVersion `
-ResourceGroupName $resourceGroupName `
-ResourceType $resourceTypeAccount `
-ResourceName $accountName
Write-Host "Delete lock on resource $resourceNameDatabase"
Remove-AzResourceLock `
-ApiVersion $apiVersion `
-ResourceGroupName $resourceGroupName `
-ResourceType $resourceTypeDatabase `
-ResourceName $resourceNameDatabase `
-LockName $lockNameDatabase `
-Force
Write-Host "Delete lock on resource $resourceNameCollection"
Remove-AzResourceLock `
-ApiVersion $apiVersion `
-ResourceGroupName $resourceGroupName `
-ResourceType $resourceTypeCollection `
-ResourceName $resourceNameCollection `
-LockName $lockNameCollection `
-Force
Write-Host "List all locks on Cosmos DB account $accountName to confirm lock removal"
Get-AzResourceLock `
-ApiVersion $apiVersion `
-ResourceGroupName $resourceGroupName `
-ResourceType $resourceTypeAccount `
-ResourceName $accountName
Dağıtımı temizleme
Betik örneği çalıştırıldıktan sonra, kaynak grubunu ve onunla ilişkili tüm kaynakları kaldırmak için aşağıdaki komut kullanılabilir.
Remove-AzResourceGroup -ResourceGroupName "myResourceGroup"
Betik açıklaması
Bu betik aşağıdaki komutları kullanır. Tablodaki her komut, komuta özgü belgelere yönlendirir.
Command | Notlar |
---|---|
Azure Kaynağı | |
New-AzResourceLock | Kaynak kilidi oluşturur. |
Get-AzResourceLock | Bir kaynak kilidi alır veya kaynak kilitlerini listeler. |
Remove-AzResourceLock | Kaynak kilidini kaldırır. |
Sonraki adımlar
Azure PowerShell hakkında daha fazla bilgi için bkz . Azure PowerShell belgeleri.