Azure Cosmos DB for NoSQL-resources beheren met behulp van PowerShell
VAN TOEPASSING OP: NoSQL
In de volgende handleiding wordt beschreven hoe u PowerShell gebruikt om het beheer van Azure Cosmos DB for NoSQL-resources te scripten en automatiseren, waaronder het Azure Cosmos DB-account, de database, de container en de doorvoer. Voor PowerShell-cmdlets voor andere API's raadpleegt u PowerShell-voorbeelden voor Cassandra, PowerShell-voorbeelden voor API voor MongoDB, PowerShell-voorbeelden voor Gremlin, PowerShell-voorbeelden voor Table
Notitie
De voorbeelden in dit artikel maken gebruik van beheer-cmdlets voor AZ. CosmosDB. Zie de referentiepagina van Az.CosmosDB API voor de nieuwste wijzigingen.
Voor platformoverschrijdend beheer van Azure Cosmos DB kunt u de cmdlets Az
en Az.CosmosDB
gebruiken met platformoverschrijdend PowerShell en ook Azure CLI, de REST API of de Azure Portal.
Notitie
Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.
Aan de slag
Volg de instructies in Azure PowerShell installeren en configureren om uw Azure-account in PowerShell te installeren en u aan te melden.
Belangrijk
De naam van Azure Cosmos DB-resources kan niet worden gewijzigd, omdat dit in strijd is met de werking van Azure Resource Manager met resource-URI's.
Azure Cosmos DB-accounts
In de volgende secties ziet u hoe u het Azure Cosmos DB-account beheert, waaronder:
- Azure Cosmos DB-account maken
- Een Azure Cosmos DB-account bijwerken
- Alle Azure Cosmos DB-accounts in een abonnement weergeven
- Een Azure Cosmos DB-account ophalen
- Een Azure Cosmos DB-account verwijderen
- Tags bijwerken voor een Azure Cosmos DB-account
- Failoverprioriteit voor een Azure Cosmos DB-account wijzigen
- Een handmatige failover activeren voor een Azure Cosmos DB-account
- Resourcevergrendelingen op een Azure Cosmos DB-account weergeven
Een Azure Cosmos DB-account maken
Met deze opdracht maakt u een Azure Cosmos DB-databaseaccount met meerdere regio's, door de service beheerde failover en het consistentiebeleid voor gebonden veroudering.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$apiKind = "Sql"
$consistencyLevel = "BoundedStaleness"
$maxStalenessInterval = 300
$maxStalenessPrefix = 100000
$locations = @()
$locations += New-AzCosmosDBLocationObject -LocationName "East US" -FailoverPriority 0 -IsZoneRedundant 0
$locations += New-AzCosmosDBLocationObject -LocationName "West US" -FailoverPriority 1 -IsZoneRedundant 0
New-AzCosmosDBAccount `
-ResourceGroupName $resourceGroupName `
-LocationObject $locations `
-Name $accountName `
-ApiKind $apiKind `
-EnableAutomaticFailover:$true `
-DefaultConsistencyLevel $consistencyLevel `
-MaxStalenessIntervalInSeconds $maxStalenessInterval `
-MaxStalenessPrefix $maxStalenessPrefix
$resourceGroupName
De Azure-resourcegroep waarin het Azure Cosmos DB-account moet worden geïmplementeerd. Deze moet al bestaan.$locations
De regio's voor het databaseaccount, de regio metFailoverPriority 0
is de schrijfregio.$accountName
De naam voor het Azure Cosmos DB-account. Moet uniek zijn, met kleine letters, mag alleen alfanumerieke tekens en '-'-tekens bevatten en moet tussen 3 en 31 tekens lang zijn.$apiKind
Het type Azure Cosmos DB-account dat moet worden gemaakt. Zie API's in Azure Cosmos DB voor meer informatie.$consistencyPolicy
,$maxStalenessInterval
en$maxStalenessPrefix
het standaardconsistentieniveau en de standaardinstellingen van het Azure Cosmos DB-account. Zie de Consistentieniveaus in Azure Cosmos DB voor meer informatie.
Azure Cosmos DB-accounts kunnen worden geconfigureerd met IP-firewall, service-eindpunten voor virtueel netwerk en privé-eindpunten. Zie IP-firewall configureren voor meer informatie over het configureren van de IP-firewall voor Azure Cosmos DB. Zie Toegang vanuit virtuele netwerken configureren voor meer informatie over het inschakelen van service-eindpunten voor Azure Cosmos DB. Zie Toegang vanuit privé-eindpunten configureren voor meer informatie over het inschakelen van privé-eindpunten voor Azure Cosmos DB.
Alle Azure Cosmos DB-accounts in een resourcegroep weergeven
Met deze opdracht worden alle Azure Cosmos DB-accounts in een resourcegroep weergegeven.
$resourceGroupName = "myResourceGroup"
Get-AzCosmosDBAccount -ResourceGroupName $resourceGroupName
De eigenschappen van een Azure Cosmos DB-account ophalen
Met deze opdracht kunt u de eigenschappen van een bestaand Azure Cosmos DB-account ophalen.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
Get-AzCosmosDBAccount -ResourceGroupName $resourceGroupName -Name $accountName
Een Azure Cosmos DB-account bijwerken
Met deze opdracht kunt u de eigenschappen van uw Azure Cosmos DB-databaseaccount bijwerken. Eigenschappen die kunnen worden bijgewerkt zijn onder meer:
- Regio's toevoegen of verwijderen
- Standaardconsistentiebeleid wijzigen
- IP-bereikfilter wijzigen
- Configuraties van virtuele netwerken wijzigen
- Schrijfbewerkingen in meerdere regio's inschakelen
Notitie
U kunt geen regio's tegelijk toevoegen of verwijderen (locations
) en andere eigenschappen voor een Azure Cosmos DB-account wijzigen. Het wijzigen van regio's moet afzonderlijk worden uitgevoerd van andere wijzigingen aan het account.
Notitie
Met deze opdracht kunt u regio's toevoegen en verwijderen, maar niet de failover-prioriteit wijzigen of een handmatige failover activeren. Zie Failover-prioriteit wijzigen en Handmatige failover activeren.
Tip
Wanneer een nieuwe regio wordt toegevoegd, moeten alle gegevens volledig worden gerepliceerd en in de nieuwe regio worden vastgelegd voordat de regio als beschikbaar wordt gemarkeerd. De hoeveelheid tijd die deze bewerking kost, is afhankelijk van hoeveel gegevens in het account worden opgeslagen. Als er een asynchrone doorvoerschaalbewerking wordt uitgevoerd, wordt de bewerking voor het omhoog schalen van doorvoer onderbroken en wordt deze automatisch hervat wanneer de regiobewerking voor toevoegen/verwijderen is voltooid.
# Create account with two regions
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$apiKind = "Sql"
$consistencyLevel = "Session"
$enableAutomaticFailover = $true
$locations = @()
$locations += New-AzCosmosDBLocationObject -LocationName "East US" -FailoverPriority 0 -IsZoneRedundant 0
$locations += New-AzCosmosDBLocationObject -LocationName "West US" -FailoverPriority 1 -IsZoneRedundant 0
# Create the Azure Cosmos DB account
New-AzCosmosDBAccount `
-ResourceGroupName $resourceGroupName `
-LocationObject $locations `
-Name $accountName `
-ApiKind $apiKind `
-EnableAutomaticFailover:$enableAutomaticFailover `
-DefaultConsistencyLevel $consistencyLevel
# Add a region to the account
$locationObject2 = @()
$locationObject2 += New-AzCosmosDBLocationObject -LocationName "East US" -FailoverPriority 0 -IsZoneRedundant 0
$locationObject2 += New-AzCosmosDBLocationObject -LocationName "West US" -FailoverPriority 1 -IsZoneRedundant 0
$locationObject2 += New-AzCosmosDBLocationObject -LocationName "South Central US" -FailoverPriority 2 -IsZoneRedundant 0
Update-AzCosmosDBAccountRegion `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-LocationObject $locationObject2
Write-Host "Update-AzCosmosDBAccountRegion returns before the region update is complete."
Write-Host "Check account in Azure portal or using Get-AzCosmosDBAccount for region status."
Write-Host "When region was added, press any key to continue."
$HOST.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") | OUT-NULL
$HOST.UI.RawUI.Flushinputbuffer()
# Remove West US region from the account
$locationObject3 = @()
$locationObject3 += New-AzCosmosDBLocationObject -LocationName "East US" -FailoverPriority 0 -IsZoneRedundant 0
$locationObject3 += New-AzCosmosDBLocationObject -LocationName "South Central US" -FailoverPriority 1 -IsZoneRedundant 0
Update-AzCosmosDBAccountRegion `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-LocationObject $locationObject3
Write-Host "Update-AzCosmosDBAccountRegion returns before the region update is complete."
Write-Host "Check account in Azure portal or using Get-AzCosmosDBAccount for region status."
Meerdere schrijfregio's inschakelen voor een Azure Cosmos DB-account
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$enableAutomaticFailover = $false
$enableMultiMaster = $true
# First disable service-managed failover - cannot have both service-managed
# failover and multi-region writes on an account
Update-AzCosmosDBAccount `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-EnableAutomaticFailover:$enableAutomaticFailover
# Now enable multi-region writes
Update-AzCosmosDBAccount `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-EnableMultipleWriteLocations:$enableMultiMaster
Een Azure Cosmos DB-account verwijderen
Met deze opdracht wordt een bestaand Azure Cosmos DB-account verwijderd.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
Remove-AzCosmosDBAccount `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-PassThru:$true
Tags van een Azure Cosmos DB-account bijwerken
Met deze opdracht worden de Azure-resourcetags ingesteld voor een Azure Cosmos DB-account. Tags kunnen zowel worden ingesteld bij het maken van het account met New-AzCosmosDBAccount
als bij het bijwerken van een account met Update-AzCosmosDBAccount
.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$tags = @{dept = "Finance"; environment = "Production";}
Update-AzCosmosDBAccount `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-Tag $tags
Door de service beheerde failover inschakelen
Met de volgende opdracht stelt u een Azure Cosmos DB-account in om een door de service beheerde failover uit te voeren naar de secundaire regio als de primaire regio niet beschikbaar is.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$enableAutomaticFailover = $true
$enableMultiMaster = $false
# First disable multi-region writes - cannot have both automatic
# failover and multi-region writes on an account
Update-AzCosmosDBAccount `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-EnableMultipleWriteLocations:$enableMultiMaster
# Now enable service-managed failover
Update-AzCosmosDBAccount `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-EnableAutomaticFailover:$enableAutomaticFailover
Failoverprioriteit wijzigen
Voor accounts die zijn geconfigureerd met door de service beheerde failover, kunt u de volgorde wijzigen waarin Azure Cosmos DB secundaire replica's naar primair promoveert als de primaire niet meer beschikbaar is.
In het onderstaande voorbeeld wordt ervan uitgegaan dat de huidige failover-prioriteit West US = 0
, East US = 1
, South Central US = 2
is. Met deze opdracht wordt dat gewijzigd in West US = 0
, South Central US = 1
, East US = 2
.
Let op
Als u de locatie wijzigt failoverPriority=0
, wordt een handmatige failover voor een Azure Cosmos DB-account geactiveerd. Andere wijzigingen van de prioriteit zullen geen failover activeren.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$locations = @("West US", "South Central US", "East US") # Regions ordered by UPDATED failover priority
Update-AzCosmosDBAccountFailoverPriority `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-FailoverPolicy $locations
Handmatige failover activeren
Voor accounts die zijn geconfigureerd met Handmatige failover kunt u failover uitvoeren en elke secundaire replica promoveren naar primaire door deze te wijzigen in failoverPriority=0
. Deze opdracht kan worden gebruikt om een uitwijktest te activeren om de uitwijkplanning te testen.
In het voorbeeld hieronder wordt ervan uitgegaan dat het account een huidige failover-prioriteit van West US = 0
en East US = 1
heeft en de regio's spiegelt.
Let op
failoverPriority=0
Als u dit wijzigtlocationName
, wordt een handmatige failover voor een Azure Cosmos DB-account geactiveerd. Een andere wijziging van de prioriteit zal geen failover activeren.
Notitie
Als u een handmatige failoverbewerking uitvoert terwijl een asynchrone doorvoerschaalbewerking wordt uitgevoerd, wordt de bewerking voor het omhoog schalen van doorvoer onderbroken. Deze wordt automatisch hervat wanneer de failoverbewerking is voltooid.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$locations = @("East US", "West US") # Regions ordered by UPDATED failover priority
Update-AzCosmosDBAccountFailoverPriority `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-FailoverPolicy $locations
Resourcevergrendelingen op een Azure Cosmos DB-account weergeven
Resourcevergrendelingen kunnen worden geplaatst op Azure Cosmos DB-resources, met inbegrip van databases en verzamelingen. In het volgende voorbeeld ziet u hoe u alle Azure-resourcevergrendelingen op een Azure Cosmos DB-account kunt weergeven.
$resourceGroupName = "myResourceGroup"
$resourceTypeAccount = "Microsoft.DocumentDB/databaseAccounts"
$accountName = "mycosmosaccount"
Get-AzResourceLock `
-ResourceGroupName $resourceGroupName `
-ResourceType $resourceTypeAccount `
-ResourceName $accountName
Azure Cosmos DB-database
In de volgende secties ziet u hoe u de Azure Cosmos DB-database kunt beheren, met inbegrip van:
- Een Azure Cosmos DB-database maken
- Een Azure Cosmos DB-database met gedeelde doorvoer maken
- De doorvoer van een Azure Cosmos DB-database ophalen
- Databasedoorvoer migreren naar automatische schaalaanpassing
- Alle Azure Cosmos DB-databases in een account weergeven
- Eén Azure Cosmos DB-database ophalen
- Een Azure Cosmos DB-database verwijderen
- Een resourcevergrendeling op een Azure Cosmos DB-database maken om te voorkomen dat deze wordt verwijderd
- Een resourcevergrendeling op een Azure Cosmos DB-database verwijderen
Een Azure Cosmos DB-database maken
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
New-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Een Azure Cosmos DB-database met gedeelde doorvoer maken
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$databaseRUs = 400
New-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName `
-Throughput $databaseRUs
De doorvoer van een Azure Cosmos DB-database ophalen
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Get-AzCosmosDBSqlDatabaseThroughput `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Databasedoorvoer migreren naar automatische schaalaanpassing
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Invoke-AzCosmosDBSqlDatabaseThroughputMigration `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName `
-ThroughputType Autoscale
Alle Azure Cosmos DB-databases in een account ophalen
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
Get-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName
Eén Azure Cosmos DB-database ophalen
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Get-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Een Azure Cosmos DB-database verwijderen
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Remove-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Een resourcevergrendeling op een Azure Cosmos DB-database maken om te voorkomen dat deze wordt verwijderd
$resourceGroupName = "myResourceGroup"
$resourceType = "Microsoft.DocumentDB/databaseAccounts/sqlDatabases"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$resourceName = "$accountName/$databaseName"
$lockName = "myResourceLock"
$lockLevel = "CanNotDelete"
New-AzResourceLock `
-ResourceGroupName $resourceGroupName `
-ResourceType $resourceType `
-ResourceName $resourceName `
-LockName $lockName `
-LockLevel $lockLevel
Een resourcevergrendeling op een Azure Cosmos DB-database verwijderen
$resourceGroupName = "myResourceGroup"
$resourceType = "Microsoft.DocumentDB/databaseAccounts/sqlDatabases"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$resourceName = "$accountName/$databaseName"
$lockName = "myResourceLock"
Remove-AzResourceLock `
-ResourceGroupName $resourceGroupName `
-ResourceType $resourceType `
-ResourceName $resourceName `
-LockName $lockName
Azure Cosmos DB-container
In de volgende secties ziet u hoe u de Azure Cosmos DB-container kunt beheren, met inbegrip van:
- Een Azure Cosmos DB-container maken
- Een Azure Cosmos DB-container met automatische schaalaanpassing maken
- Een Azure Cosmos DB-container met een grote partitiesleutel maken
- De doorvoer van een Azure Cosmos DB-container ophalen
- Containerdoorvoer migreren naar automatische schaalaanpassing
- Een Azure Cosmos DB-container met aangepaste indexering maken
- Een Azure Cosmos DB-container met uitgeschakelde indexering maken
- Een Azure Cosmos DB-container met unieke sleutel en TTL maken
- Een Azure Cosmos DB-container met conflictoplossing maken
- Alle Azure Cosmos DB-containers in een database weergeven
- Eén Azure Cosmos DB-container in een database ophalen
- Een Azure Cosmos DB-container verwijderen
- Een resourcevergrendeling op een Azure Cosmos DB-container maken om te voorkomen dat deze wordt verwijderd
- Een resourcevergrendeling op een Azure Cosmos DB-container verwijderen
Een Azure Cosmos DB-container maken
# Create an Azure Cosmos DB container with default indexes and throughput at 400 RU
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
$partitionKeyPath = "/myPartitionKey"
$throughput = 400 #minimum = 400
New-AzCosmosDBSqlContainer `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName `
-Name $containerName `
-PartitionKeyKind Hash `
-PartitionKeyPath $partitionKeyPath `
-Throughput $throughput
Een Azure Cosmos DB-container met automatisch schaalaanpassing maken
# Create an Azure Cosmos DB container with default indexes and autoscale throughput at 4000 RU
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
$partitionKeyPath = "/myPartitionKey"
$autoscaleMaxThroughput = 4000 #minimum = 4000
New-AzCosmosDBSqlContainer `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName `
-Name $containerName `
-PartitionKeyKind Hash `
-PartitionKeyPath $partitionKeyPath `
-AutoscaleMaxThroughput $autoscaleMaxThroughput
Een Azure Cosmos DB-container met een grote partitiesleutelgrootte maken
# Create an Azure Cosmos DB container with a large partition key value (version = 2)
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
$partitionKeyPath = "/myPartitionKey"
New-AzCosmosDBSqlContainer `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName `
-Name $containerName `
-PartitionKeyKind Hash `
-PartitionKeyPath $partitionKeyPath `
-PartitionKeyVersion 2
De doorvoer van een Azure Cosmos DB-container ophalen
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
Get-AzCosmosDBSqlContainerThroughput `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName `
-Name $containerName
Containerdoorvoer migreren naar automatische schaalaanpassing
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
Invoke-AzCosmosDBSqlContainerThroughputMigration `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName `
-Name $containerName `
-ThroughputType Autoscale
Een Azure Cosmos DB-container met aangepast indexeringsbeleid maken
# Create a container with a custom indexing policy
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
$partitionKeyPath = "/myPartitionKey"
$indexPathIncluded = "/*"
$indexPathExcluded = "/myExcludedPath/*"
$includedPathIndex = New-AzCosmosDBSqlIncludedPathIndex -DataType String -Kind Range
$includedPath = New-AzCosmosDBSqlIncludedPath -Path $indexPathIncluded -Index $includedPathIndex
$indexingPolicy = New-AzCosmosDBSqlIndexingPolicy `
-IncludedPath $includedPath `
-ExcludedPath $indexPathExcluded `
-IndexingMode Consistent `
-Automatic $true
New-AzCosmosDBSqlContainer `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName `
-Name $containerName `
-PartitionKeyKind Hash `
-PartitionKeyPath $partitionKeyPath `
-IndexingPolicy $indexingPolicy
Een Azure Cosmos DB-container met uitgeschakelde indexering maken
# Create an Azure Cosmos DB container with no indexing
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
$partitionKeyPath = "/myPartitionKey"
$indexingPolicy = New-AzCosmosDBSqlIndexingPolicy `
-IndexingMode None
New-AzCosmosDBSqlContainer `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName `
-Name $containerName `
-PartitionKeyKind Hash `
-PartitionKeyPath $partitionKeyPath `
-IndexingPolicy $indexingPolicy
Een Azure Cosmos DB-container met uniek sleutelbeleid en TTL maken
# Create a container with a unique key policy and TTL of one day
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
$partitionKeyPath = "/myPartitionKey"
$uniqueKeyPath = "/myUniqueKeyPath"
$ttlInSeconds = 86400 # Set this to -1 (or don't use it at all) to never expire
$uniqueKey = New-AzCosmosDBSqlUniqueKey `
-Path $uniqueKeyPath
$uniqueKeyPolicy = New-AzCosmosDBSqlUniqueKeyPolicy `
-UniqueKey $uniqueKey
New-AzCosmosDBSqlContainer `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName `
-Name $containerName `
-PartitionKeyKind Hash `
-PartitionKeyPath $partitionKeyPath `
-UniqueKeyPolicy $uniqueKeyPolicy `
-TtlInSeconds $ttlInSeconds
Een Azure Cosmos DB-container met conflictoplossing maken
Geef -Type "Custom" -Path ""
door om alle conflicten naar de ConflictsFeed te schrijven en ze afzonderlijk te behandelen.
# Create container with last-writer-wins conflict resolution policy
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
$partitionKeyPath = "/myPartitionKey"
$conflictResolutionPath = "/myResolutionPath"
$conflictResolutionPolicy = New-AzCosmosDBSqlConflictResolutionPolicy `
-Type LastWriterWins `
-Path $conflictResolutionPath
New-AzCosmosDBSqlContainer `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName `
-Name $containerName `
-PartitionKeyKind Hash `
-PartitionKeyPath $partitionKeyPath `
-ConflictResolutionPolicy $conflictResolutionPolicy
Roep New-AzCosmosDBSqlConflictResolutionPolicy
aan en geef de parameters -Type
en -ConflictResolutionProcedure
door om conflictoplossingsbeleid te maken om een opgeslagen procedure te gebruiken.
# Create container with custom conflict resolution policy using a stored procedure
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
$partitionKeyPath = "/myPartitionKey"
$conflictResolutionSprocName = "mysproc"
$conflictResolutionSproc = "/dbs/$databaseName/colls/$containerName/sprocs/$conflictResolutionSprocName"
$conflictResolutionPolicy = New-AzCosmosDBSqlConflictResolutionPolicy `
-Type Custom `
-ConflictResolutionProcedure $conflictResolutionSproc
New-AzCosmosDBSqlContainer `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName `
-Name $containerName `
-PartitionKeyKind Hash `
-PartitionKeyPath $partitionKeyPath `
-ConflictResolutionPolicy $conflictResolutionPolicy
Alle Azure Cosmos DB-containers in een database weergeven
# List all Azure Cosmos DB containers in a database
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Get-AzCosmosDBSqlContainer `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName
Eén Azure Cosmos DB-container in een database ophalen
# Get a single Azure Cosmos DB container in a database
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
Get-AzCosmosDBSqlContainer `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName `
-Name $containerName
Een Azure Cosmos DB-container verwijderen
# Delete an Azure Cosmos DB container
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
Remove-AzCosmosDBSqlContainer `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName `
-Name $containerName
Een resourcevergrendeling op een Azure Cosmos DB-container maken om te voorkomen dat deze wordt verwijderd
$resourceGroupName = "myResourceGroup"
$resourceType = "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
$resourceName = "$accountName/$databaseName/$containerName"
$lockName = "myResourceLock"
$lockLevel = "CanNotDelete"
New-AzResourceLock `
-ResourceGroupName $resourceGroupName `
-ResourceType $resourceType `
-ResourceName $resourceName `
-LockName $lockName `
-LockLevel $lockLevel
Een resourcevergrendeling op een Azure Cosmos DB-container verwijderen
$resourceGroupName = "myResourceGroup"
$resourceType = "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
$resourceName = "$accountName/$databaseName/$containerName"
$lockName = "myResourceLock"
Remove-AzResourceLock `
-ResourceGroupName $resourceGroupName `
-ResourceType $resourceType `
-ResourceName $resourceName `
-LockName $lockName