Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
PLATÍ PRO: NoSQL
Následující příručka popisuje, jak pomocí PowerShellu skriptovat a automatizovat správu prostředků Azure Cosmos DB for NoSQL, včetně účtu služby Azure Cosmos DB, databáze, kontejneru a propustnosti. Rutiny PowerShellu pro jiná rozhraní API najdete v ukázkách PowerShellu pro Cassandra, ukázky PowerShellu pro rozhraní API pro MongoDB, ukázky PowerShellu pro Gremlin, ukázky PowerShellu pro tabulku.
Poznámka:
Ukázky v tomto článku používají rutiny pro správu Az.CosmosDB . Nejnovější změny najdete na referenční stránce rozhraní API Az.CosmosDB .
Pro správu služby Azure Cosmos DB pro různé platformy můžete použít AzAz.CosmosDB cmdlety s prostředím PowerShell pro různé platformy, Azure CLI, rozhraním REST API nebo portálem Azure.
Poznámka:
Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. 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.
Začínáme
Postupujte podle pokynů v tématu Instalace a konfigurace Azure PowerShellu pro instalaci a přihlášení k účtu Azure v PowerShellu.
Důležité
Prostředky Azure Cosmos DB nejde přejmenovat, protože to porušuje způsob, jakým Azure Resource Manager funguje s identifikátory URI prostředků.
Účty Azure Cosmos DB
Následující části ukazují, jak spravovat účet služby Azure Cosmos DB, včetně:
- Vytvoření účtu služby Azure Cosmos DB
- Aktualizace účtu služby Azure Cosmos DB
- Výpis všech účtů Služby Azure Cosmos DB v předplatném
- Získání účtu služby Azure Cosmos DB
- Odstranění účtu služby Azure Cosmos DB
- Aktualizace značek pro účet služby Azure Cosmos DB
- Úprava priority záložního pro účet Azure Cosmos DB
- Spuštění ručního přechodu na jiný účet Azure Cosmos DB
- Seznam zámků prostředků na účtu služby Azure Cosmos DB
Vytvoření účtu služby Azure Cosmos DB
Tento příkaz vytvoří účet databáze Azure Cosmos DB s několika oblastmi, převzetím služeb při selhání spravované službou a zásadou konzistence s ohraničenou neschytností.
$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
-
$resourceGroupNameSkupina prostředků Azure, do které se má nasadit účet služby Azure Cosmos DB. Musí už existovat. -
$locationsOblasti pro databázový účet, oblast sFailoverPriority 0je oblast zápisu. -
$accountNameNázev účtu služby Azure Cosmos DB. Musí být jedinečná, malá písmena, obsahovat pouze alfanumerické a "-" znaky a délku 3 až 31 znaků. -
$apiKindTyp účtu služby Azure Cosmos DB, který chcete vytvořit. Další informace najdete v tématu Rozhraní API ve službě Azure Cosmos DB. -
$consistencyPolicy,$maxStalenessIntervala$maxStalenessPrefixvýchozí úroveň konzistence a nastavení účtu služby Azure Cosmos DB. Další informace najdete v tématu Úrovně konzistence ve službě Azure Cosmos DB.
Účty služby Azure Cosmos DB je možné nakonfigurovat s IP bránou firewall, koncovými body virtuální sítě a privátními koncovými body. Informace o tom, jak nakonfigurovat bránu firewall protokolu IP pro službu Azure Cosmos DB, najdete v tématu Konfigurace brány firewall protokolu IP. Informace o povolení koncových bodů služby pro službu Azure Cosmos DB najdete v tématu Konfigurace přístupu z virtuálních sítí. Informace o povolení privátních koncových bodů pro službu Azure Cosmos DB najdete v tématu Konfigurace přístupu z privátních koncových bodů.
Výpis všech účtů služby Azure Cosmos DB ve skupině prostředků
Tento příkaz zobrazí seznam všech účtů služby Azure Cosmos DB v skupině prostředků.
$resourceGroupName = "myResourceGroup"
Get-AzCosmosDBAccount -ResourceGroupName $resourceGroupName
Získání vlastností účtu služby Azure Cosmos DB
Tento příkaz umožňuje získat vlastnosti existujícího účtu služby Azure Cosmos DB.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
Get-AzCosmosDBAccount -ResourceGroupName $resourceGroupName -Name $accountName
Aktualizace účtu služby Azure Cosmos DB
Tento příkaz umožňuje aktualizovat vlastnosti účtu databáze Azure Cosmos DB. Mezi vlastnosti, které lze aktualizovat, patří:
- Přidání nebo odebrání oblastí
- Změna výchozích zásad konzistence
- Změna filtru rozsahu IP adres
- Změna konfigurací virtuální sítě
- Povolení zápisů do více oblastí
Poznámka:
Nemůžete současně přidávat nebo odebírat oblasti (locations) a měnit další vlastnosti účtu služby Azure Cosmos DB. Změny oblastí musí být provedeny jako samostatná operace od jakékoli jiné změny účtu.
Poznámka:
Tento příkaz umožňuje přidávat a odebírat oblasti, ale neumožňuje měnit priority převzetí služeb nebo aktivovat ruční převzetí služeb. Viz Modifikace priority převzetí služeb při selhání a Aktivace ručního převzetí služeb při selhání.
Tip
Když se přidá nová oblast, všechna data se musí zcela replikovat a zapsat do nové oblasti, než se tato oblast označí za dostupnou. Doba trvání této operace bude záviset na tom, kolik dat se v rámci účtu ukládá. Pokud probíhá operace škálování asynchronní propustnosti, operace vertikálního navýšení kapacity propustnosti se pozastaví a po dokončení operace přidání nebo odebrání oblasti se automaticky obnoví.
# 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."
Povolení více oblastí zápisu pro účet služby Azure Cosmos DB
$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
Odstranění účtu služby Azure Cosmos DB
Tento příkaz odstraní existující účet služby Azure Cosmos DB.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
Remove-AzCosmosDBAccount `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-PassThru:$true
Aktualizace značek účtu služby Azure Cosmos DB
Tento příkaz nastaví značky prostředků Azure pro účet služby Azure Cosmos DB. Značky lze nastavit při vytváření účtu pomocí New-AzCosmosDBAccount a při aktualizaci účtu pomocí Update-AzCosmosDBAccount.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$tags = @{dept = "Finance"; environment = "Production";}
Update-AzCosmosDBAccount `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-Tag $tags
Povolení řízeného převzetí služeb při selhání
Následující příkaz nastaví účet služby Azure Cosmos DB tak, aby provedl službou řízené převzetí služeb při selhání do sekundární oblasti, pokud primární oblast nebude dostupná.
$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
Úprava priority převzetí služeb při selhání
U účtů nakonfigurovaných se spravovaným převzetím služeb při selhání můžete změnit pořadí, ve kterém Azure Cosmos DB zvýší úroveň sekundárních replik na primární, pokud se primární replika stane nedostupnou.
V následujícím příkladu předpokládejme, že aktuální prioritou pro převzetí služeb při selhání je West US = 0, East US = 1, South Central US = 2. Příkaz to změní na West US = 0, South Central US = 1. East US = 2
Upozornění
Změna umístění failoverPriority=0 aktivuje ruční převzetí služeb při selhání pro účet Azure Cosmos DB. Žádné jiné změny priority neaktivují převzetí služeb při selhání.
$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
Aktivace ručního převzetí řízení při selhání
Pro účty nakonfigurované s ručním převzetím služeb při selhání můžete převést služby při selhání a povýšit jakoukoli sekundární repliku na primární úpravou konfigurace na failoverPriority=0. Tuto operaci lze použít k zahájení postupu zotavení po havárii pro testování plánování zotavení po havárii.
V následujícím příkladu předpokládejme, že účet má aktuální prioritu převzetí služeb při selhání West US = 0 a East US = 1 a zaměníme oblasti.
Upozornění
Při změně locationName na failoverPriority=0 dojde k aktivaci ručního převzetí služeb při selhání v účtu Azure Cosmos DB. Žádná jiná změna priority nevyvolá převzetí služeb při selhání.
Poznámka:
Pokud provádíte ruční operaci převzetí služeb při selhání, zatímco probíhá operace asynchronního škálování propustnosti, operace škálování propustnosti se pozastaví. Automaticky se obnoví po dokončení operace převzetí služeb při selhání.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$locations = @("East US", "West US") # Regions ordered by UPDATED failover priority
Update-AzCosmosDBAccountFailoverPriority `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-FailoverPolicy $locations
Výpis zámků prostředků na účtu Azure Cosmos DB
Zámky prostředků se dají umístit na prostředky Azure Cosmos DB, včetně databází a kolekcí. Následující příklad ukazuje, jak zobrazit seznam všech zámků prostředků Azure v účtu služby Azure Cosmos DB.
$resourceGroupName = "myResourceGroup"
$resourceTypeAccount = "Microsoft.DocumentDB/databaseAccounts"
$accountName = "mycosmosaccount"
Get-AzResourceLock `
-ResourceGroupName $resourceGroupName `
-ResourceType $resourceTypeAccount `
-ResourceName $accountName
Databáze Azure Cosmos DB
Následující části ukazují, jak spravovat databázi Azure Cosmos DB, včetně:
- Vytvoření databáze Azure Cosmos DB
- Vytvoření databáze Azure Cosmos DB se sdílenou propustností
- Získání propustnosti databáze Azure Cosmos DB
- Migrace propustnosti databáze do automatického škálování
- Výpis všech databází Azure Cosmos DB v účtu
- Získání jedné databáze Azure Cosmos DB
- Odstranění databáze Azure Cosmos DB
- Vytvořte zámek prostředku na databázi Azure Cosmos DB, aby se zabránilo odstranění
- Odebrat zámek prostředku v databázi Azure Cosmos DB
Vytvoření databáze Azure Cosmos DB
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
New-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Vytvoření databáze Azure Cosmos DB se sdílenou propustností
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$databaseRUs = 400
New-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName `
-Throughput $databaseRUs
Získání propustnosti databáze Azure Cosmos DB
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Get-AzCosmosDBSqlDatabaseThroughput `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Migrace propustnosti databáze do automatického škálování
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Invoke-AzCosmosDBSqlDatabaseThroughputMigration `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName `
-ThroughputType Autoscale
Získání všech databází Azure Cosmos DB v účtu
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
Get-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName
Získání jedné databáze Azure Cosmos DB
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Get-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Odstranění databáze Azure Cosmos DB
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Remove-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Vytvořte zámek prostředku v databázi Azure Cosmos DB, aby se zabránilo smazání.
$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
Odeberte zámek prostředku v databázi Azure Cosmos DB
$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
Kontejner služby Azure Cosmos DB
Následující části ukazují, jak spravovat kontejner Azure Cosmos DB, včetně:
- Vytvoření kontejneru Azure Cosmos DB
- Vytvoření kontejneru Azure Cosmos DB s automatickým škálováním
- Vytvořte kontejner Azure Cosmos DB s velkým klíčem pro oddíl
- Získání propustnosti kontejneru Azure Cosmos DB
- Migrace propustnosti kontejneru do automatického škálování
- Vytvoření kontejneru Azure Cosmos DB s využitím vlastního indexování
- Vytvoření kontejneru Azure Cosmos DB s vypnutým indexováním
- Vytvoření kontejneru Azure Cosmos DB s jedinečným klíčem a TTL
- Vytvoření kontejneru Azure Cosmos DB s řešením konfliktů
- Výpis všech kontejnerů Azure Cosmos DB v databázi
- Získání jednoho kontejneru Azure Cosmos DB v databázi
- Odstranění kontejneru Azure Cosmos DB
- Vytvořte zámek prostředku na kontejneru Azure Cosmos DB, abyste zabránili odstranění
- Odebrání zámku prostředku v kontejneru Azure Cosmos DB
Vytvoření kontejneru Azure Cosmos DB
# 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
Vytvoření kontejneru Azure Cosmos DB s automatickým škálováním
# 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
Vytvoření kontejneru Azure Cosmos DB s velkou velikostí klíče oddílu
# 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
Získání propustnosti kontejneru Azure Cosmos DB
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
Get-AzCosmosDBSqlContainerThroughput `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName `
-Name $containerName
Migrace propustnosti kontejneru do automatického škálování
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
Invoke-AzCosmosDBSqlContainerThroughputMigration `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName `
-Name $containerName `
-ThroughputType Autoscale
Vytvoření kontejneru Azure Cosmos DB pomocí vlastních zásad indexu
# 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
Vytvoření kontejneru Azure Cosmos DB s vypnutým indexováním
# 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
Vytvoření kontejneru Azure Cosmos DB s jedinečnými zásadami klíče a TTL
# 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
Vytvoření kontejneru Azure Cosmos DB s řešením konfliktů
Chcete-li zapsat všechny konflikty do ConflictsFeed a zpracovat samostatně, předejte -Type "Custom" -Path "".
# 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
Chcete-li vytvořit zásadu řešení konfliktů pro použití uložené procedury, použijte volání New-AzCosmosDBSqlConflictResolutionPolicy a předejte parametry -Type a -ConflictResolutionProcedure.
# 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
Výpis všech kontejnerů Azure Cosmos DB v databázi
# List all Azure Cosmos DB containers in a database
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Get-AzCosmosDBSqlContainer `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName
Získání jednoho kontejneru Azure Cosmos DB v databázi
# 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
Odstranění kontejneru Azure Cosmos DB
# Delete an Azure Cosmos DB container
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
Remove-AzCosmosDBSqlContainer `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName `
-Name $containerName
Vytvořte zámek prostředku v kontejneru Azure Cosmos DB k zabránění odstranění
$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
Odstranit zámek prostředku v kontejneru Azure Cosmos DB
$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