Skapa ett resurslås för Azure Cosmos DB Cassandra API-nyckelrymd och tabell med azure PowerShell
GÄLLER FÖR: Kassandra
Kommentar
Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.
Det här exemplet kräver Azure PowerShell Az 5.4.0 eller senare. Kör Get-Module -ListAvailable Az
för att se vilka versioner som är installerade.
Om du behöver installera kan du läsa Installera Azure PowerShell-modulen.
Kör Connect-AzAccount för att logga in på Azure.
Viktigt!
Resurslås fungerar inte för ändringar som görs av användare som ansluter med cassandra-SDK, CQL Shell eller Azure-portalen om inte Azure Cosmos DB-kontot först låses med disableKeyBasedMetadataWriteAccess
egenskapen aktiverad. Mer information om hur du aktiverar den här egenskapen finns i Förhindra ändringar från SDK:er.
Exempelskript
# 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 = "mykeyspace"
$collectionName = "mytable"
# *****
$apiVersion = "2020-04-01" # Cosmos DB RP API version
$lockLevel = "CanNotDelete" # CanNotDelete or ReadOnly
$resourceTypeAccount = "Microsoft.DocumentDB/databaseAccounts"
$resourceTypeDatabase = "$resourceTypeAccount/cassandraKeyspaces"
$resourceTypeCollection = "$resourceTypeDatabase/tables"
$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
Rensa distribution
När skriptexemplet har körts kan följande kommando användas för att ta bort resursgruppen och alla resurser som är kopplade till den.
Remove-AzResourceGroup -ResourceGroupName "myResourceGroup"
Förklaring av skript
Det här skriptet använder följande kommandon. Varje kommando i tabellen länkar till kommandospecifik dokumentation.
Command | Kommentar |
---|---|
Azure-resurs | |
New-AzResourceLock | Skapar ett resurslås. |
Get-AzResourceLock | Hämtar ett resurslås eller visar en lista över resurslås. |
Remove-AzResourceLock | Tar bort ett resurslås. |
Nästa steg
Mer information om Azure PowerShell finns i Dokumentation om Azure PowerShell.