Vytvoření zámku prostředků pro databázi a kolekci rozhraní MongoDB API služby Azure Cosmos DB pomocí Azure PowerShell
PLATÍ PRO: MongoDB
Poznámka
K interakci s Azure doporučujeme použít modul Azure Az PowerShell. Začněte tím, že si projdete téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.
Tato ukázka vyžaduje Azure PowerShell Az 5.4.0 nebo novější. Spuštěním příkazu Get-Module -ListAvailable Az
zjistíte, které verze jsou nainstalované.
Pokud potřebujete instalaci, přečtěte si téma Instalace modulu Azure PowerShell.
Spuštěním příkazu Connect-AzAccount se přihlaste k Azure.
Důležité
Zámky prostředků nefungují pro změny provedené uživateli připojujícími se pomocí sady MongoDB SDK, Mongoshellu, jakýchkoli nástrojů nebo webu Azure Portal, pokud není účet služby Azure Cosmos DB nejprve uzamčen s povolenou disableKeyBasedMetadataWriteAccess
vlastností. Další informace o tom, jak tuto vlastnost povolit, najdete v tématu Zabránění změnám v sadách SDK.
Ukázkový skript
# 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 = "myCollection"
# *****
$apiVersion = "2020-04-01" # Cosmos DB RP API version
$lockLevel = "CanNotDelete" # CanNotDelete or ReadOnly
$resourceTypeAccount = "Microsoft.DocumentDB/databaseAccounts"
$resourceTypeDatabase = "$resourceTypeAccount/mongodbDatabases"
$resourceTypeCollection = "$resourceTypeDatabase/collections"
$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
Vyčištění nasazení
Po spuštění ukázkového skriptu můžete pomocí následujícího příkazu odebrat skupinu prostředků a všechny k ní přidružené prostředky.
Remove-AzResourceGroup -ResourceGroupName "myResourceGroup"
Vysvětlení skriptu
Tento skript používá následující příkazy. Každý příkaz v tabulce odkazuje na příslušnou část dokumentace.
Příkaz | Poznámky |
---|---|
Prostředek Azure | |
New-AzResourceLock | Vytvoří zámek prostředku. |
Get-AzResourceLock | Získá zámek prostředku nebo vypíše zámky prostředků. |
Remove-AzResourceLock | Odebere zámek prostředku. |
Další kroky
Další informace o Azure PowerShell najdete v dokumentaci k Azure PowerShell.