Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W poniższym przewodniku opisano sposób używania programu PowerShell do tworzenia skryptów i automatyzowania zarządzania zasobami usługi Azure Cosmos DB for NoSQL, w tym konta usługi Azure Cosmos DB, bazy danych, kontenera i przepływności. W przypadku poleceń cmdlet programu PowerShell dla innych API zobacz Przykłady programu PowerShell dla Cassandra, Przykłady programu PowerShell dla API MongoDB, Przykłady programu PowerShell dla Gremlin, Przykłady programu PowerShell dla Tabela
Uwaga / Notatka
Przykłady w tym artykule używają poleceń Az.CosmosDB do zarządzania. Aby uzyskać najnowsze zmiany, zobacz stronę referencyjną interfejsu API az.CosmosDB .
W przypadku zarządzania międzyplatformowego usługi Azure Cosmos DB można użyć Az poleceń cmdlet i Az.CosmosDB z programem PowerShell dla wielu platform oraz interfejsem wiersza polecenia platformy Azure, interfejsem API REST lub witryną Azure Portal.
Uwaga / Notatka
Zalecamy użycie modułu Azure Az PowerShell do interakcji z Azure. Aby rozpocząć, zobacz Instalowanie programu Azure PowerShell. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.
Wprowadzenie
Postępuj zgodnie z instrukcjami w temacie Instalowanie i konfigurowanie programu Azure PowerShell w celu zainstalowania i zalogowania się do konta platformy Azure w programie PowerShell.
Ważne
Nie można zmienić nazwy zasobów usługi Azure Cosmos DB, ponieważ narusza to sposób działania usługi Azure Resource Manager z identyfikatorami URI zasobów.
Konta usługi Azure Cosmos DB
W poniższych sekcjach pokazano, jak zarządzać kontem usługi Azure Cosmos DB, w tym:
- Tworzenie konta usługi Azure Cosmos DB
- Aktualizowanie konta usługi Azure Cosmos DB
- Wyświetlanie listy wszystkich kont usługi Azure Cosmos DB w subskrypcji
- Uzyskiwanie konta usługi Azure Cosmos DB
- Usuwanie konta usługi Azure Cosmos DB
- Aktualizowanie tagów dla konta usługi Azure Cosmos DB
- Modyfikowanie priorytetu trybu failover dla konta usługi Azure Cosmos DB
- Wyzwól ręczne przełączenie do trybu failover dla konta Azure Cosmos DB
- Wyświetlanie listy blokad zasobów na koncie usługi Azure Cosmos DB
Tworzenie konta usługi Azure Cosmos DB
To polecenie tworzy konto bazy danych usługi Azure Cosmos DB z wieloma regionami, zarządzanym przez usługę trybem failover oraz zasadami spójności o ograniczonym czasie nieaktualności.
$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
-
$resourceGroupNameGrupa zasobów platformy Azure, w której ma zostać wdrożone konto usługi Azure Cosmos DB. Musi już istnieć. -
$locationsRegiony dla konta bazy danych, regionFailoverPriority 0to region zapisu. -
$accountNameNazwa konta usługi Azure Cosmos DB. Musi być unikalna, zapisana małymi literami, zawierać tylko znaki alfanumeryczne i "-", oraz mieć od 3 do 31 znaków. -
$apiKindTyp konta usługi Azure Cosmos DB do utworzenia. Aby uzyskać więcej informacji, zobacz Interfejsy API w usłudze Azure Cosmos DB. -
$consistencyPolicy,$maxStalenessIntervali$maxStalenessPrefixdomyślny poziom spójności i ustawienia konta usługi Azure Cosmos DB. Aby uzyskać więcej informacji, zobacz Poziomy spójności w usłudze Azure Cosmos DB.
Konta usługi Azure Cosmos DB można skonfigurować za pomocą zapory IP, punktów końcowych usługi sieci wirtualnej i prywatnych punktów końcowych. Aby uzyskać informacje na temat konfigurowania zapory ip dla usługi Azure Cosmos DB, zobacz Konfigurowanie zapory adresów IP. Aby uzyskać informacje na temat włączania punktów końcowych usługi dla usługi Azure Cosmos DB, zobacz Konfigurowanie dostępu z sieci wirtualnych. Aby uzyskać informacje na temat włączania prywatnych punktów końcowych dla usługi Azure Cosmos DB, zobacz Konfigurowanie dostępu z prywatnych punktów końcowych.
Wyświetlanie listy wszystkich kont usługi Azure Cosmos DB w grupie zasobów
To polecenie wyświetla listę wszystkich kont usługi Azure Cosmos DB w grupie zasobów.
$resourceGroupName = "myResourceGroup"
Get-AzCosmosDBAccount -ResourceGroupName $resourceGroupName
Pobieranie właściwości konta usługi Azure Cosmos DB
To polecenie umożliwia uzyskanie właściwości istniejącego konta usługi Azure Cosmos DB.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
Get-AzCosmosDBAccount -ResourceGroupName $resourceGroupName -Name $accountName
Aktualizowanie konta usługi Azure Cosmos DB
To polecenie umożliwia aktualizowanie właściwości konta bazy danych usługi Azure Cosmos DB. Właściwości, które można zaktualizować, obejmują następujące elementy:
- Dodawanie lub usuwanie regionów
- Zmienianie domyślnych zasad spójności
- Zmienianie filtru zakresu adresów IP
- Zmienianie konfiguracji sieci wirtualnej
- Konfigurowanie zapisu w wielu regionach
Uwaga / Notatka
Nie można jednocześnie dodawać ani usuwać regionów (locations) ani zmieniać innych właściwości konta usługi Azure Cosmos DB. Modyfikowanie regionów należy wykonać jako oddzielną operację od każdej innej zmiany konta.
Uwaga / Notatka
To polecenie umożliwia dodawanie i usuwanie regionów, ale nie pozwala na modyfikowanie priorytetów trybu failover lub wyzwalanie ręcznego trybu failover. Zobacz Modyfikowanie priorytetu trybu failover i Wyzwalanie ręcznego przejścia w tryb failover.
Wskazówka
Gdy dodawany jest nowy region, wszystkie dane muszą zostać w pełni zreplikowane i zatwierdzone w nowym regionie, zanim region zostanie oznaczony jako dostępny. Czas potrzebny na wykonanie tej operacji zależy od ilości danych przechowywanych na koncie. Jeśli trwa operacja skalowania przepływności asynchronicznej, operacja skalowania przepływności w górę zostanie wstrzymana i zostanie wznowiona automatycznie po zakończeniu operacji dodawania/usuwania regionu.
# 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."
Włączanie wielu regionów zapisu dla konta usługi 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
Usuwanie konta usługi Azure Cosmos DB
To polecenie usuwa istniejące konto usługi Azure Cosmos DB.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
Remove-AzCosmosDBAccount `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-PassThru:$true
Aktualizowanie tagów konta usługi Azure Cosmos DB
To polecenie ustawia tagi zasobów platformy Azure dla konta usługi Azure Cosmos DB. Tagi można ustawić zarówno podczas tworzenia konta przy użyciu New-AzCosmosDBAccount, jak i aktualizacji konta przy użyciu Update-AzCosmosDBAccount.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$tags = @{dept = "Finance"; environment = "Production";}
Update-AzCosmosDBAccount `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-Tag $tags
Włącz przełączenie awaryjne zarządzane przez usługę
Następujące polecenie konfiguruje konto Azure Cosmos DB do przeprowadzenia przełączenia awaryjnego zarządzanego przez usługę do regionu pomocniczego, gdy region podstawowy jest niedostępny.
$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
Modyfikowanie priorytetu trybu failover
W przypadku kont skonfigurowanych przy użyciu trybu awaryjnego przełączania zarządzanego przez usługę można zmienić kolejność, w jakiej usługa Azure Cosmos DB będzie promować repliki pomocnicze na replikę podstawową, jeśli ta stanie się niedostępna.
W poniższym przykładzie przyjęto założenie, że bieżący priorytet trybu failover to West US = 0, East US = 1, South Central US = 2. Polecenie zmieni to na West US = 0, South Central US = 1, East US = 2.
Ostrzeżenie
Zmiana lokalizacji dla failoverPriority=0 spowoduje wyzwolenie ręcznego przejścia w tryb failover dla konta usługi Azure Cosmos DB. Wszelkie inne zmiany priorytetów nie będą wyzwalać trybu failover.
$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
Wyzwalanie ręcznego przejścia w tryb failover
Dla kont skonfigurowanych z ręcznym trybem failover, można awansować dowolną replikę pomocniczą do podstawowej, modyfikując element failoverPriority=0. Tej operacji można użyć do zainicjowania próbnego odzyskiwania po awarii w celu przetestowania planowania odzyskiwania po awarii.
W poniższym przykładzie załóżmy, że konto ma bieżący priorytet trybu failover West US = 0 i East US = 1, i zamień regiony miejscami.
Ostrzeżenie
Zmiana locationName na failoverPriority=0 spowoduje ręczne przełączenie w tryb awaryjny dla konta Azure Cosmos DB. Każda inna zmiana priorytetu nie spowoduje przełączenia awaryjnego.
Uwaga / Notatka
Jeśli wykonasz ręczne przełączenie awaryjne, gdy asynchroniczna operacja skalowania przepływności jest w toku, operacja skalowania przepływności zostanie wstrzymana. Zostanie ona wznowiona automatycznie po zakończeniu operacji trybu failover.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$locations = @("East US", "West US") # Regions ordered by UPDATED failover priority
Update-AzCosmosDBAccountFailoverPriority `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-FailoverPolicy $locations
Wyświetlanie listy blokad zasobów na koncie usługi Azure Cosmos DB
Blokady zasobów można umieszczać w zasobach usługi Azure Cosmos DB, w tym w bazach danych i kolekcjach. W poniższym przykładzie pokazano, jak wyświetlić listę wszystkich blokad zasobów platformy Azure na koncie usługi Azure Cosmos DB.
$resourceGroupName = "myResourceGroup"
$resourceTypeAccount = "Microsoft.DocumentDB/databaseAccounts"
$accountName = "mycosmosaccount"
Get-AzResourceLock `
-ResourceGroupName $resourceGroupName `
-ResourceType $resourceTypeAccount `
-ResourceName $accountName
Baza danych usługi Azure Cosmos DB
W poniższych sekcjach pokazano, jak zarządzać bazą danych usługi Azure Cosmos DB, w tym:
- Tworzenie bazy danych usługi Azure Cosmos DB
- Utwórz bazę danych Azure Cosmos DB z udostępnioną przepustowością
- Uzyskiwanie przepływności bazy danych usługi Azure Cosmos DB
- Migrowanie przepływności bazy danych do automatycznego skalowania
- Wyświetlanie listy wszystkich baz danych usługi Azure Cosmos DB na koncie
- Uzyskiwanie pojedynczej bazy danych usługi Azure Cosmos DB
- Usuwanie bazy danych usługi Azure Cosmos DB
- Tworzenie blokady zasobów w bazie danych usługi Azure Cosmos DB, aby zapobiec usunięciu
- Usuwanie blokady zasobów w bazie danych usługi Azure Cosmos DB
Tworzenie bazy danych usługi Azure Cosmos DB
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
New-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Tworzenie bazy danych usługi Azure Cosmos DB z udostępnioną przepływnością
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$databaseRUs = 400
New-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName `
-Throughput $databaseRUs
Uzyskiwanie przepływności bazy danych usługi Azure Cosmos DB
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Get-AzCosmosDBSqlDatabaseThroughput `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Migrowanie przepływności bazy danych do automatycznego skalowania
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Invoke-AzCosmosDBSqlDatabaseThroughputMigration `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName `
-ThroughputType Autoscale
Pobierz wszystkie bazy danych usługi Azure Cosmos DB na koncie
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
Get-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName
Uzyskiwanie pojedynczej bazy danych usługi Azure Cosmos DB
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Get-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Usuwanie bazy danych usługi Azure Cosmos DB
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Remove-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Tworzenie blokady zasobów w bazie danych usługi Azure Cosmos DB, aby zapobiec usunięciu
$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
Usuwanie blokady zasobów w bazie danych usługi 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
Kontener usługi Azure Cosmos DB
W poniższych sekcjach pokazano, jak zarządzać kontenerem usługi Azure Cosmos DB, w tym:
- Tworzenie kontenera usługi Azure Cosmos DB
- Tworzenie kontenera usługi Azure Cosmos DB z autoskalowaniem
- Tworzenie kontenera usługi Azure Cosmos DB z dużym kluczem partycji
- Uzyskiwanie przepływności kontenera usługi Azure Cosmos DB
- Migrowanie przepływności kontenera do automatycznego skalowania
- Tworzenie kontenera usługi Azure Cosmos DB z indeksowaniem niestandardowym
- Tworzenie kontenera usługi Azure Cosmos DB z wyłączonym indeksowaniem
- Tworzenie kontenera usługi Azure Cosmos DB z unikatowym kluczem i TTL
- Tworzenie kontenera usługi Azure Cosmos DB z rozwiązaniem konfliktów
- Wyświetlanie listy wszystkich kontenerów usługi Azure Cosmos DB w bazie danych
- Uzyskaj pojedynczy kontener Azure Cosmos DB w bazie danych
- Usuwanie kontenera usługi Azure Cosmos DB
- Tworzenie blokady zasobów w kontenerze usługi Azure Cosmos DB, aby zapobiec usunięciu
- Usuwanie blokady zasobów w kontenerze usługi Azure Cosmos DB
Tworzenie kontenera usługi 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
Tworzenie kontenera usługi Azure Cosmos DB z autoskalowaniem
# 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
Tworzenie kontenera usługi Azure Cosmos DB o dużym rozmiarze klucza partycji
# 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
Uzyskiwanie przepływności kontenera usługi Azure Cosmos DB
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
Get-AzCosmosDBSqlContainerThroughput `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName `
-Name $containerName
Migracja przepustowości kontenera do funkcji automatycznego skalowania
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
Invoke-AzCosmosDBSqlContainerThroughputMigration `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName `
-Name $containerName `
-ThroughputType Autoscale
Tworzenie kontenera usługi Azure Cosmos DB z niestandardowymi zasadami indeksu
# 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
Tworzenie kontenera usługi Azure Cosmos DB z wyłączonym indeksowaniem
# 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
Tworzenie kontenera usługi Azure Cosmos DB z polityką unikalnego klucza i czasem życia (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
Tworzenie kontenera usługi Azure Cosmos DB z rozwiązaniem konfliktów
Aby zapisać wszystkie konflikty w pliku ConflictsFeed i obsługiwać je oddzielnie, przekaż polecenie -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
Aby utworzyć zasady rozwiązywania konfliktów w celu użycia procedury składowanej, wywołaj New-AzCosmosDBSqlConflictResolutionPolicy i przekaż parametry -Type oraz -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
Wyświetlanie listy wszystkich kontenerów usługi Azure Cosmos DB w bazie danych
# List all Azure Cosmos DB containers in a database
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Get-AzCosmosDBSqlContainer `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName
Uzyskaj pojedynczy kontener usługi Azure Cosmos DB w bazie danych
# 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
Usuwanie kontenera usługi 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
Tworzenie blokady zasobów w kontenerze usługi Azure Cosmos DB, aby zapobiec usunięciu
$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
Usuwanie blokady zasobów w kontenerze usługi 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