PowerShell kullanarak NoSQL için Azure Cosmos DB kaynaklarını yönetme
UYGULANANLAR: NoSQL
Aşağıdaki kılavuzda Azure Cosmos DB hesabı, veritabanı, kapsayıcı ve aktarım hızı dahil olmak üzere NoSQL için Azure Cosmos DB kaynaklarının yönetimini betik oluşturmak ve otomatikleştirmek için PowerShell'in nasıl kullanılacağı açıklanmaktadır. Diğer API'ler için PowerShell cmdlet'leri için bkz . Cassandra için PowerShell Örnekleri, MongoDB için PowerShell Örnekleri, Gremlin için PowerShell Örnekleri, Tablo için PowerShell Örnekleri
Not
Bu makaledeki örneklerde Az.CosmosDB yönetim cmdlet'leri kullanılır. En son değişiklikler için Az.CosmosDB API başvuru sayfasına bakın.
Azure Cosmos DB'nin platformlar arası yönetimi için ve Az.CosmosDB
cmdlet'lerini platformlar arası PowerShell'in yanı sıra Azure CLI, REST API veya Azure portalı ile kullanabilirsinizAz
.
Not
Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.
Kullanmaya Başlama
PowerShell'de Azure hesabınızı yüklemek ve oturum açmak için Azure PowerShell'i yükleme ve yapılandırma başlığındaki yönergeleri izleyin.
Önemli
Azure Resource Manager'ın kaynak URI'leriyle çalışma biçimini ihlal eden Azure Cosmos DB kaynakları yeniden adlandırılamaz.
Azure Cosmos DB hesapları
Aşağıdaki bölümlerde Azure Cosmos DB hesabının nasıl yönetileceğini gösterir; örneğin:
- Azure Cosmos DB hesabı oluşturma
- Azure Cosmos DB hesabını güncelleştirme
- Abonelikteki tüm Azure Cosmos DB hesaplarını listeleme
- Azure Cosmos DB hesabı alma
- Azure Cosmos DB hesabını silme
- Azure Cosmos DB hesabının etiketlerini güncelleştirme
- Azure Cosmos DB hesabı için yük devretme önceliğini değiştirme
- Azure Cosmos DB hesabı için el ile yük devretme tetikleme
- Azure Cosmos DB hesabında kaynak kilitlerini listeleme
Azure Cosmos DB hesabı oluşturma
Bu komut birden çok bölgeye, hizmet tarafından yönetilen yük devretmeye ve sınırlanmış eskime tutarlılığı ilkesine sahip bir Azure Cosmos DB veritabanı hesabı oluşturur.
$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
Azure Cosmos DB hesabının dağıtılacağı Azure kaynak grubu. Zaten var olması gerekir.$locations
Veritabanı hesabının bölgeleri, ile bölgesiFailoverPriority 0
yazma bölgesidir.$accountName
Azure Cosmos DB hesabının adı. Benzersiz, küçük harfli olmalı, yalnızca alfasayısal ve '-' karakterleri içermeli ve 3 ile 31 karakter uzunluğunda olmalıdır.$apiKind
Oluşturulacak Azure Cosmos DB hesabının türü. Daha fazla bilgi için bkz . Azure Cosmos DB'deki API'ler.$consistencyPolicy
,$maxStalenessInterval
ve$maxStalenessPrefix
Azure Cosmos DB hesabının varsayılan tutarlılık düzeyi ve ayarları. Daha fazla bilgi için bkz . Azure Cosmos DB'de Tutarlılık Düzeyleri.
Azure Cosmos DB hesapları IP Güvenlik Duvarı, Sanal Ağ hizmet uç noktaları ve özel uç noktalar ile yapılandırılabilir. Azure Cosmos DB için IP Güvenlik Duvarı'nı yapılandırma hakkında bilgi için bkz . IP Güvenlik Duvarı'nı yapılandırma. Azure Cosmos DB için hizmet uç noktalarını etkinleştirme hakkında bilgi için bkz . Sanal Ağlardan erişimi yapılandırma. Azure Cosmos DB için özel uç noktaları etkinleştirme hakkında bilgi için bkz . Özel uç noktalardan erişimi yapılandırma.
Kaynak Grubundaki tüm Azure Cosmos DB hesaplarını listeleme
Bu komut, bir Kaynak Grubundaki tüm Azure Cosmos DB hesaplarını listeler.
$resourceGroupName = "myResourceGroup"
Get-AzCosmosDBAccount -ResourceGroupName $resourceGroupName
Azure Cosmos DB hesabının özelliklerini alma
Bu komut, mevcut bir Azure Cosmos DB hesabının özelliklerini almanıza olanak tanır.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
Get-AzCosmosDBAccount -ResourceGroupName $resourceGroupName -Name $accountName
Azure Cosmos DB hesabını güncelleştirme
Bu komut, Azure Cosmos DB veritabanı hesabı özelliklerinizi güncelleştirmenizi sağlar. Güncelleştirilebilecek özellikler şunlardır:
- Bölgeleri ekleme veya kaldırma
- Varsayılan tutarlılık ilkesini değiştirme
- IP Aralığı Filtresini Değiştirme
- Sanal Ağ yapılandırmalarını değiştirme
- Çok bölgeli yazmaları etkinleştirme
Not
Azure Cosmos DB hesabının bölgelerini (locations
) aynı anda ekleyemez veya kaldıramaz ve diğer özelliklerini değiştiremezsiniz. Bölgeleri değiştirme işlemi, hesapta yapılan diğer değişikliklerden ayrı bir işlem olarak gerçekleştirilmelidir.
Not
Bu komut bölgeleri eklemenizi ve kaldırmanızı sağlar, ancak yük devretme önceliklerini değiştirmenize veya el ile yük devretme tetiklemenize izin vermez. Bkz . Yük devretme önceliğini değiştirme ve El ile yük devretmeyi tetikleme.
İpucu
Yeni bölge eklendiğinde, bölge kullanılabilir olarak işaretlenmeden önce tüm verilerin tamamen çoğaltılması ve yeni bölgeye işlenmesi gerekir. Bu işlemin süresi, hesapta ne kadar veri depolandığına bağlıdır. Zaman uyumsuz bir aktarım hızı ölçeklendirme işlemi devam ederse, aktarım hızı ölçeği artırma işlemi duraklatılır ve bölge ekleme/kaldırma işlemi tamamlandığında otomatik olarak sürdürülür.
# 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."
Azure Cosmos DB hesabı için birden çok yazma bölgesini etkinleştirme
$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
Azure Cosmos DB hesabını silme
Bu komut mevcut bir Azure Cosmos DB hesabını siler.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
Remove-AzCosmosDBAccount `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-PassThru:$true
Azure Cosmos DB hesabının etiketlerini güncelleştirme
Bu komut, bir Azure Cosmos DB hesabı için Azure kaynak etiketlerini ayarlar. Etiketler hem kullanılarak New-AzCosmosDBAccount
hesap oluşturmada hem de kullanılarak Update-AzCosmosDBAccount
hesap güncelleştirmesinde ayarlanabilir.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$tags = @{dept = "Finance"; environment = "Production";}
Update-AzCosmosDBAccount `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-Tag $tags
Hizmet tarafından yönetilen yük devretmeyi etkinleştirme
Aşağıdaki komut bir Azure Cosmos DB hesabını, birincil bölge kullanılamaz duruma gelirse ikincil bölgesine hizmet tarafından yönetilen bir yük devretme gerçekleştirecek şekilde ayarlar.
$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
Yük Devretme Önceliğini Değiştir
Hizmet Tarafından Yönetilen Yük Devretme ile yapılandırılan hesaplar için, birincil çoğaltma kullanılamaz duruma gelirse Azure Cosmos DB'nin ikincil çoğaltmaları birincile yükseltme sırasını değiştirebilirsiniz.
Aşağıdaki örnekte geçerli yük devretme önceliğinin , , East US = 1
South Central US = 2
olduğunu West US = 0
varsayalım. Komutu bunu West US = 0
, , South Central US = 1
East US = 2
olarak değiştirir.
Dikkat
için konumun failoverPriority=0
değiştirilmesi, Azure Cosmos DB hesabı için el ile yük devretmeyi tetikler. Diğer öncelik değişiklikleri yük devretmeyi tetiklemez.
$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
El ile Yük Devretmeyi Tetikleme
El ile Yük Devretme ile yapılandırılan hesaplar için yük devretme yapabilir ve öğesini değiştirerek ikincil çoğaltmaları birincil çoğaltmaya failoverPriority=0
yükseltebilirsiniz. Bu işlem, olağanüstü durum kurtarma planlamasını test etmek için bir olağanüstü durum kurtarma tatbikatı başlatmak için kullanılabilir.
Aşağıdaki örnekte hesabın geçerli yük devretme önceliğine West US = 0
sahip olduğunu varsayalım ve East US = 1
bölgeleri çevirin.
Dikkat
için failoverPriority=0
değiştirmeklocationName
, Azure Cosmos DB hesabı için el ile yük devretmeyi tetikler. Diğer öncelik değişiklikleri yük devretmeyi tetiklemez.
Not
Zaman uyumsuz aktarım hızı ölçeklendirme işlemi devam ederken el ile yük devretme işlemi gerçekleştirirseniz, aktarım hızı ölçeği artırma işlemi duraklatılır. Yük devretme işlemi tamamlandığında otomatik olarak sürdürülür.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$locations = @("East US", "West US") # Regions ordered by UPDATED failover priority
Update-AzCosmosDBAccountFailoverPriority `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-FailoverPolicy $locations
Azure Cosmos DB hesabında kaynak kilitlerini listeleme
Kaynak kilitleri, veritabanları ve koleksiyonlar dahil olmak üzere Azure Cosmos DB kaynaklarına yerleştirilebilir. Aşağıdaki örnekte, bir Azure Cosmos DB hesabındaki tüm Azure kaynak kilitlerinin nasıl listelenmiştir.
$resourceGroupName = "myResourceGroup"
$resourceTypeAccount = "Microsoft.DocumentDB/databaseAccounts"
$accountName = "mycosmosaccount"
Get-AzResourceLock `
-ResourceGroupName $resourceGroupName `
-ResourceType $resourceTypeAccount `
-ResourceName $accountName
Azure Cosmos DB Veritabanı
Aşağıdaki bölümlerde Azure Cosmos DB veritabanının nasıl yönetileceğinin nasıl yönetileceğinin gösterildiği gibi:
- Azure Cosmos DB veritabanı oluşturma
- Paylaşılan aktarım hızıyla Azure Cosmos DB veritabanı oluşturma
- Azure Cosmos DB veritabanının aktarım hızını alma
- Veritabanı aktarım hızını otomatik ölçeklendirmeye geçirme
- Bir hesaptaki tüm Azure Cosmos DB veritabanlarını listeleme
- Tek bir Azure Cosmos DB veritabanı alma
- Azure Cosmos DB veritabanını silme
- Silmeyi önlemek için Azure Cosmos DB veritabanında kaynak kilidi oluşturma
- Azure Cosmos DB veritabanında kaynak kilidini kaldırma
Azure Cosmos DB veritabanı oluşturma
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
New-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Paylaşılan aktarım hızıyla Azure Cosmos DB veritabanı oluşturma
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$databaseRUs = 400
New-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName `
-Throughput $databaseRUs
Azure Cosmos DB veritabanının aktarım hızını alma
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Get-AzCosmosDBSqlDatabaseThroughput `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Veritabanı aktarım hızını otomatik ölçeklendirmeye geçirme
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Invoke-AzCosmosDBSqlDatabaseThroughputMigration `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName `
-ThroughputType Autoscale
Bir hesaptaki tüm Azure Cosmos DB veritabanlarını alma
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
Get-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName
Tek bir Azure Cosmos DB veritabanı alma
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Get-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Azure Cosmos DB veritabanını silme
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Remove-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Silmeyi önlemek için Azure Cosmos DB veritabanında kaynak kilidi oluşturma
$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
Azure Cosmos DB veritabanında kaynak kilidini kaldırma
$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 Kapsayıcısı
Aşağıdaki bölümlerde, Azure Cosmos DB kapsayıcısının nasıl yönetileceğini göstermektedir:
- Azure Cosmos DB kapsayıcısı oluşturma
- Otomatik ölçeklendirme ile Azure Cosmos DB kapsayıcısı oluşturma
- Büyük bir bölüm anahtarıyla Azure Cosmos DB kapsayıcısı oluşturma
- Azure Cosmos DB kapsayıcısının aktarım hızını alma
- Kapsayıcı aktarım hızını otomatik ölçeklendirmeye geçirme
- Özel dizin oluşturma ile Azure Cosmos DB kapsayıcısı oluşturma
- Dizin oluşturma özelliği kapalıyken Azure Cosmos DB kapsayıcısı oluşturma
- Benzersiz anahtar ve TTL ile Azure Cosmos DB kapsayıcısı oluşturma
- Çakışma çözümlemesi ile Azure Cosmos DB kapsayıcısı oluşturma
- Veritabanındaki tüm Azure Cosmos DB kapsayıcılarını listeleme
- Veritabanında tek bir Azure Cosmos DB kapsayıcısı alma
- Azure Cosmos DB kapsayıcısı silme
- Silmeyi önlemek için Azure Cosmos DB kapsayıcısı üzerinde kaynak kilidi oluşturma
- Azure Cosmos DB kapsayıcısı üzerindeki kaynak kilidini kaldırma
Azure Cosmos DB kapsayıcısı oluşturma
# 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
Otomatik ölçeklendirme ile Azure Cosmos DB kapsayıcısı oluşturma
# 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
Büyük bölüm anahtarı boyutuna sahip bir Azure Cosmos DB kapsayıcısı oluşturma
# 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
Azure Cosmos DB kapsayıcısının aktarım hızını alma
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
Get-AzCosmosDBSqlContainerThroughput `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName `
-Name $containerName
Kapsayıcı aktarım hızını otomatik ölçeklendirmeye geçirme
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
Invoke-AzCosmosDBSqlContainerThroughputMigration `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName `
-Name $containerName `
-ThroughputType Autoscale
Özel dizin ilkesiyle Azure Cosmos DB kapsayıcısı oluşturma
# 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
Dizin oluşturma özelliği kapalıyken Azure Cosmos DB kapsayıcısı oluşturma
# 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
Benzersiz anahtar ilkesi ve TTL ile Azure Cosmos DB kapsayıcısı oluşturma
# 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
Çakışma çözümlemesi ile Azure Cosmos DB kapsayıcısı oluşturma
Tüm çakışmaları ConflictsFeed öğesine yazmak ve ayrı olarak işlemek için geçirin -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
Saklı yordam kullanmak üzere bir çakışma çözümleme ilkesi oluşturmak için ve parametrelerini -Type
-ConflictResolutionProcedure
çağırıp New-AzCosmosDBSqlConflictResolutionPolicy
geçirin.
# 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
Veritabanındaki tüm Azure Cosmos DB kapsayıcılarını listeleme
# List all Azure Cosmos DB containers in a database
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Get-AzCosmosDBSqlContainer `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName
Veritabanında tek bir Azure Cosmos DB kapsayıcısı alma
# 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
Azure Cosmos DB kapsayıcısı silme
# Delete an Azure Cosmos DB container
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
Remove-AzCosmosDBSqlContainer `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName `
-Name $containerName
Silmeyi önlemek için Azure Cosmos DB kapsayıcısı üzerinde kaynak kilidi oluşturma
$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
Azure Cosmos DB kapsayıcısı üzerindeki kaynak kilidini kaldırma
$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