Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
GEÇERLİ OLDUĞU: 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 ve 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 manuel yük devretmeyi tetikleme
- Azure Cosmos DB hesabında kaynak kilitlerini listeleme
Azure Cosmos DB hesabı oluşturma
Bu komut, birden çok bölge, hizmet tarafından yönetilen yük devretme 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
-
$resourceGroupNameAzure Cosmos DB hesabının dağıtılacağı Azure kaynak grubu. Zaten var olması gerekir. -
$locationsVeritabanı hesabının bölgeleri,FailoverPriority 0olan bölge yazma bölgesidir. -
$accountNameAzure 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. -
$apiKindOluşturulacak Azure Cosmos DB hesabının türü. Daha fazla bilgi için bkz . Azure Cosmos DB'deki API'ler. -
$consistencyPolicy,$maxStalenessIntervalve$maxStalenessPrefixAzure 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 yazma işlemlerini 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 Manuel yük devretmeyi başlatma.
İ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-AzCosmosDBAccounthesap güncelleştirmesinde ayarlanabilir.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$tags = @{dept = "Finance"; environment = "Production";}
Update-AzCosmosDBAccount `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-Tag $tags
Hizmet yönetimli geçişi (failover) 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 replika kullanılamaz duruma gelirse Azure Cosmos DB'nin ikincil replika'ları birincil olarak yükseltme sırasını değiştirebilirsiniz.
Aşağıdaki örnekte, geçerli yük devretme önceliğinin West US = 0, East US = 1, South Central US = 2 olduğunu varsayalım. Komutu bunu West US = 0, , South Central US = 1East US = 2olarak değiştirir.
Dikkat
failoverPriority=0 konumunun değiştirilmesi, Azure Cosmos DB hesabı için bir 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
Manuel Yük Geçişini Tetikleme
El ile Yük Devretme ile yapılandırılan hesaplar için yük devretme yapabilir ve failoverPriority=0 öğesini değiştirerek herhangi bir ikincil çoğaltmayı birincil hale getirebilirsiniz. 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 bölgelerin sıralamasını East US = 1 değiştirin.
Dikkat
locationName'yi failoverPriority=0 ile değiştirmek, Azure Cosmos DB hesabı için el ile yük devretmeyi tetikler. Diğer öncelik değişikliklerinin hiçbiri 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 sistem otomatik olarak yeniden başlatı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ği gösterilmektedir:
- 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
- Container 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ölme anahtarı boyutuna sahip bir Azure Cosmos DB kapsayıcısı oluşturun
# 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ı kapasitesini 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
Azure Cosmos DB kapsayıcısını benzersiz anahtar ilkesi ve TTL ile oluşturun
# 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'e yazmak ve ayrı olarak işlemek için -Type "Custom" -Path "" kullanın.
# 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 için bir çakışma çözümleme ilkesi oluşturmak, New-AzCosmosDBSqlConflictResolutionPolicy çağrıldıktan sonra -Type ve -ConflictResolutionProcedure parametrelerini 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