Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O guia a seguir descreve como usar o PowerShell para criar scripts e automatizar o gerenciamento de recursos do Azure Cosmos DB para NoSQL, incluindo a conta do Azure Cosmos DB, o banco de dados, o contêiner e a taxa de transferência. Para os cmdlets do PowerShell para outras APIs, consulte Exemplos do PowerShell para Cassandra, Exemplos do PowerShell para a API do MongoDB, Exemplos do PowerShell para Gremlin, Exemplos do PowerShell para Tabela
Observação
Os exemplos neste artigo usam cmdlets de gerenciamento do Az.CosmosDB . Consulte a página de referência da API do Az.CosmosDB para obter as alterações mais recentes.
Para gerenciamento multiplataforma do Azure Cosmos DB, você pode usar os Az e Az.CosmosDB cmdlets com o PowerShell multiplataforma, a CLI do Azure, a API REST ou o Portal do Azure.
Observação
Recomendamos que você use o módulo do Az PowerShell do Azure para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.
Introdução
Siga as instruções em Como instalar e configurar o Azure PowerShell para instalar e entrar em sua conta do Azure no PowerShell.
Importante
Os recursos do Azure Cosmos DB não podem ser renomeados, pois isso viola como o Azure Resource Manager funciona com URIs de recurso.
Contas do Azure Cosmos DB
As seguintes seções demonstram como gerenciar a conta do Azure Cosmos DB, incluindo:
- Criar uma conta do Azure Cosmos DB
- Atualizar uma conta do Azure Cosmos DB
- Listar todas as contas do Azure Cosmos DB em uma assinatura
- Obter uma conta do Azure Cosmos DB
- Excluir uma conta do Azure Cosmos DB
- Atualizar tags para uma conta do Azure Cosmos DB
- Modificar a prioridade de failover para uma conta do Azure Cosmos DB
- Iniciar um failover manual para uma conta do Azure Cosmos DB
- Listar bloqueios de recursos em uma conta do Azure Cosmos DB
Criar uma conta do Azure Cosmos DB
Esse comando cria uma conta de banco de dados do Azure Cosmos DB com várias regiões, failover gerenciado pelo serviço e política de consistência de desatualização limitada.
$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
-
$resourceGroupNameO grupo de recursos do Azure onde implantar a conta do Azure Cosmos DB. Ele já deve existir. -
$locationsAs regiões da conta de banco de dados, a região comFailoverPriority 0corresponde à região de gravação. -
$accountNameO nome da conta do Azure Cosmos DB. Deve ser exclusivo, minúsculo, incluir apenas caracteres alfanuméricos e '-', e ter entre 3 e 31 caracteres. -
$apiKindO tipo de conta do Azure Cosmos DB a ser criada. Para obter mais informações, consulte APIs no Azure Cosmos DB. -
$consistencyPolicy,$maxStalenessIntervale$maxStalenessPrefixo nível de consistência padrão e as configurações da conta do Azure Cosmos DB. Para obter mais informações, consulte Níveis de Consistência no Azure Cosmos DB.
As contas do Azure Cosmos DB podem ser configuradas com Firewall de IP, pontos de extremidade de serviço de Rede Virtual e pontos de extremidade privados. Para obter informações sobre como configurar o Firewall de IP para o Azure Cosmos DB, consulte Configurar o Firewall de IP. Para obter informações sobre como habilitar endpoints de serviço para o Azure Cosmos DB, consulte Configurar o acesso de redes virtuais. Para obter informações sobre como habilitar pontos de extremidade privados para o Azure Cosmos DB, consulte Configurar o acesso de pontos de extremidade privados.
Listar todas as contas do Azure Cosmos DB em um Grupo de Recursos
Esse comando lista todas as contas do Azure Cosmos DB em um Grupo de Recursos.
$resourceGroupName = "myResourceGroup"
Get-AzCosmosDBAccount -ResourceGroupName $resourceGroupName
Obter as propriedades de uma conta do Azure Cosmos DB
Esse comando permite que você obtenha as propriedades de uma conta existente do Azure Cosmos DB.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
Get-AzCosmosDBAccount -ResourceGroupName $resourceGroupName -Name $accountName
Atualizar uma conta do Azure Cosmos DB
Esse comando permite que você atualize as propriedades da conta de banco de dados do Azure Cosmos DB. As propriedades que podem ser atualizadas incluem o seguinte:
- Adicionando ou removendo regiões
- Alterando a política de consistência padrão
- Alterando o filtro de intervalo de IP
- Alterando configurações de Rede Virtual
- Habilitando gravações em regiões múltiplas
Observação
Você não pode adicionar ou remover simultaneamente regiões (locations) e alterar outras propriedades para uma conta do Azure Cosmos DB. A modificação de regiões deve ser executada como uma operação separada de qualquer outra alteração na conta.
Observação
Este comando permite adicionar e remover regiões, mas não permite modificar as prioridades de failover nem disparar um failover manual. Consulte Modificar a Prioridade de Failover e Disparar Failover Manual.
Dica
Quando uma nova região é adicionada, todos os dados devem ser totalmente replicados e confirmados na nova região antes que a região seja marcada como disponível. O tempo para esta operação dependerá da quantidade de dados armazenados na conta. Se uma operação de dimensionamento de taxa de transferência assíncrona estiver em andamento, a operação de expansão de taxa de transferência será pausada e será retomada automaticamente quando a operação de adicionar/remover região for concluída.
# 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."
Habilitar várias regiões de gravação para uma conta do 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
Excluir uma conta do Azure Cosmos DB
Esse comando exclui uma conta existente do Azure Cosmos DB.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
Remove-AzCosmosDBAccount `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-PassThru:$true
Atualização de tags de uma conta do Azure Cosmos DB
Esse comando define as marcas de recurso do Azure para uma conta do Azure Cosmos DB. As marcas podem ser definidas na criação da conta usando New-AzCosmosDBAccount e na atualização da conta usando Update-AzCosmosDBAccount.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$tags = @{dept = "Finance"; environment = "Production";}
Update-AzCosmosDBAccount `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-Tag $tags
Habilitar o failover gerenciado pelo serviço
O comando a seguir define uma conta do Azure Cosmos DB para executar um failover gerenciado pelo serviço para sua região secundária caso a região primária fique indisponível.
$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
Modificar prioridade de failover
Para contas configuradas com Service-Managed Failover, você pode alterar a ordem na qual o Azure Cosmos DB promoverá réplicas secundárias para primárias caso o primário fique indisponível.
Para o exemplo a seguir, suponha que a prioridade atual de failover seja West US = 0, East US = 1, South Central US = 2. O comando alterará isso paraWest US = 0, , South Central US = 1East US = 2.
Cuidado
Alterar o local de failoverPriority=0 causará um failover manual para uma conta do Azure Cosmos DB. Outras alterações de prioridade não acionarão um 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
Disparar failover manual
Para contas configuradas com Failover Manual, você pode fazer failover e promover qualquer réplica secundária para primária modificando para failoverPriority=0. Essa operação pode ser usada para iniciar uma simulação de recuperação de desastre para testar o planejamento de recuperação de desastre.
Para o exemplo a seguir, suponha que a conta tenha uma prioridade de failover atual de West US = 0 e East US = 1 e inverta as regiões.
Cuidado
A alteração de locationName para failoverPriority=0 acionará um failover manual para uma conta do Azure Cosmos DB. Nenhuma outra alteração de prioridade disparará um failover.
Observação
Se você executar uma operação manual de failover enquanto uma operação de dimensionamento de taxa de transferência assíncrona estiver em andamento, a operação de expansão de taxa de transferência será pausada. Ela será retomada automaticamente quando a operação de failover for concluída.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$locations = @("East US", "West US") # Regions ordered by UPDATED failover priority
Update-AzCosmosDBAccountFailoverPriority `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-FailoverPolicy $locations
Listar bloqueios de recursos em uma conta do Azure Cosmos DB
Os bloqueios de recursos podem ser colocados em recursos do Azure Cosmos DB, incluindo bancos de dados e coleções. O exemplo a seguir mostra como listar todos os bloqueios de recursos do Azure em uma conta do Azure Cosmos DB.
$resourceGroupName = "myResourceGroup"
$resourceTypeAccount = "Microsoft.DocumentDB/databaseAccounts"
$accountName = "mycosmosaccount"
Get-AzResourceLock `
-ResourceGroupName $resourceGroupName `
-ResourceType $resourceTypeAccount `
-ResourceName $accountName
Banco de Dados do Azure Cosmos DB
As seguintes seções demonstram como gerenciar o banco de dados do Azure Cosmos DB, incluindo:
- Criar um banco de dados do Azure Cosmos DB
- Criar um banco de dados do Azure Cosmos DB com taxa de transferência compartilhada
- Obter a taxa de transferência de um banco de dados do Azure Cosmos DB
- Migrar a taxa de transferência do banco de dados para o dimensionamento automático
- Listar todos os bancos de dados do Azure Cosmos DB em uma conta
- Obter um único banco de dados do Azure Cosmos DB
- Excluir um banco de dados do Azure Cosmos DB
- Criar um bloqueio de recursos em um banco de dados do Azure Cosmos DB para impedir a exclusão
- Remover um bloqueio de recurso em um banco de dados do Azure Cosmos DB
Criar um banco de dados do Azure Cosmos DB
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
New-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Criar um banco de dados do Azure Cosmos DB com taxa de transferência compartilhada
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$databaseRUs = 400
New-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName `
-Throughput $databaseRUs
Obter a taxa de transferência de um banco de dados do Azure Cosmos DB
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Get-AzCosmosDBSqlDatabaseThroughput `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Migrar o processamento do banco de dados para o ajuste automático
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Invoke-AzCosmosDBSqlDatabaseThroughputMigration `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName `
-ThroughputType Autoscale
Obter todos os bancos de dados do Azure Cosmos DB em uma conta
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
Get-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName
Obter um único banco de dados do Azure Cosmos DB
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Get-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Excluir um banco de dados do Azure Cosmos DB
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Remove-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Criar um bloqueio de recursos em um banco de dados do Azure Cosmos DB para impedir a exclusão
$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
Remover um bloqueio de recurso em um banco de dados do 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
Contêiner do Azure Cosmos DB
As seguintes seções demonstram como gerenciar o contêiner do Azure Cosmos DB, incluindo:
- Criar um contêiner do Azure Cosmos DB
- Criar um contêiner do Azure Cosmos DB com dimensionamento automático
- Criar um contêiner do Azure Cosmos DB com uma chave de partição grande
- Obter a taxa de transferência de um contêiner do Azure Cosmos DB
- Migrar a taxa de transferência do contêiner para o dimensionamento automático
- Criar um contêiner do Azure Cosmos DB com indexação personalizada
- Criar um contêiner do Azure Cosmos DB com a indexação desativada
- Criar um contêiner do Azure Cosmos DB com chave exclusiva e TTL
- Criar um contêiner do Azure Cosmos DB com resolução de conflitos
- Listar todos os contêineres do Azure Cosmos DB em um banco de dados
- Obter um único contêiner do Azure Cosmos DB em um banco de dados
- Excluir um contêiner do Azure Cosmos DB
- Criar um bloqueio de recurso em um contêiner do Azure Cosmos DB para impedir a exclusão
- Remover um bloqueio de recurso em um contêiner do Azure Cosmos DB
Criar um contêiner do 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
Criar um contêiner do Azure Cosmos DB com dimensionamento automático
# 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
Criar um contêiner do Azure Cosmos DB com um tamanho de chave de partição grande
# 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
Obter a taxa de transferência de um contêiner do Azure Cosmos DB
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
Get-AzCosmosDBSqlContainerThroughput `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName `
-Name $containerName
Migrar o throughput do contêiner para o escalonamento automático
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
Invoke-AzCosmosDBSqlContainerThroughputMigration `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName `
-Name $containerName `
-ThroughputType Autoscale
Criar um contêiner do Azure Cosmos DB com política de índice personalizada
# 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
Criar um contêiner do Azure Cosmos DB com a indexação desativada
# 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
Criar um contêiner do Azure Cosmos DB com política de chave exclusiva e 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
Criar um contêiner do Azure Cosmos DB com resolução de conflitos
Para gravar todos os conflitos no ConflictsFeed e tratar separadamente, passe -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
Para criar uma política de resolução de conflitos para usar um procedimento armazenado, chamar New-AzCosmosDBSqlConflictResolutionPolicy e passar parâmetros -Type e -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
Listar todos os contêineres do Azure Cosmos DB em um banco de dados
# List all Azure Cosmos DB containers in a database
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Get-AzCosmosDBSqlContainer `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName
Obter um único contêiner do Azure Cosmos DB em um banco de dados
# 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
Excluir um contêiner do 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
Criar um bloqueio de recurso em um contêiner do Azure Cosmos DB para impedir a exclusão
$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
Remover um bloqueio de recurso em um contêiner do 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