Erőforrás-zárolás létrehozása az Azure Cosmos DB MongoDB API-adatbázishoz és -gyűjteményhez a Azure PowerShell használatával

A KÖVETKEZŐKRE VONATKOZIK: MongoDB

Megjegyzés

Javasoljuk, hogy az Azure Az PowerShell-modullal kommunikáljon az Azure-ral. Az első lépésekhez tekintse meg az Azure PowerShell telepítését ismertető szakaszt. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.

Ehhez a mintához Azure PowerShell Az 5.4.0-s vagy újabb verzióra van szükség. Futtassa a parancsot Get-Module -ListAvailable Az a telepített verziók megtekintéséhez. Ha telepítenie kell, olvassa el a Azure PowerShell telepítése modult.

Az Azure-ba való bejelentkezéshez futtassa a Connect-AzAccount parancsot.

Fontos

Az erőforrás-zárolások nem működnek a MongoDB SDK-val, a MongoShell-lel, az eszközökkel vagy az Azure Portallal csatlakozó felhasználók által végzett módosításokhoz, kivéve, ha az Azure Cosmos DB-fiók először zárolva van a disableKeyBasedMetadataWriteAccess tulajdonság engedélyezésével. A tulajdonság engedélyezéséről további információt az SDK-k módosításainak megakadályozása című témakörben talál.

Példaszkript

# 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

Az üzemelő példány eltávolítása

A példaszkript futtatása után a következő paranccsal távolítható el az erőforráscsoport és az összes ahhoz kapcsolódó erőforrás.

Remove-AzResourceGroup -ResourceGroupName "myResourceGroup"

Szkript ismertetése

A szkript a következő parancsokat használja. A táblázatban lévő összes parancs a hozzá tartozó dokumentációra hivatkozik.

Parancs Jegyzetek
Azure-erőforrás
New-AzResourceLock Erőforrás-zárolást hoz létre.
Get-AzResourceLock Lekéri az erőforrás-zárolást, vagy felsorolja az erőforrás-zárolásokat.
Remove-AzResourceLock Eltávolít egy erőforrás-zárolást.

Következő lépések

A Azure PowerShell kapcsolatos további információkért lásd Azure PowerShell dokumentációját.