Mengelola Azure Cosmos DB untuk sumber daya NoSQL menggunakan PowerShell
BERLAKU UNTUK: NoSQL
Panduan berikut menjelaskan cara menggunakan PowerShell untuk membuat skrip dan mengotomatiskan manajemen sumber daya Azure Cosmos DB untuk NoSQL, termasuk akun, database, kontainer, dan throughput Azure Cosmos DB. Untuk cmdlet PowerShell untuk API lain, lihat Sampel PowerShell untuk Cassandra, Sampel PowerShell untuk API untuk MongoDB, Sampel PowerShell untuk Gremlin, Sampel PowerShell untuk Tabel
Catatan
Sampel dalam artikel ini menggunakan cmdlet manajemen Az.CosmosDB. Lihat halaman referensi API Az.CosmosDB untuk perubahan terbaru.
Untuk manajemen lintas platform Microsoft Azure Cosmos DB, Anda dapat menggunakan cmdlet Az
dan Az.CosmosDB
dengan PowerShell lintas platform, serta Azure CLI, REST API, atau portal Microsoft Azure.
Catatan
Sebaiknya Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Untuk memulai, lihat Menginstal Azure PowerShell. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.
Memulai
Ikuti instruksi di Cara menginstal dan mengonfigurasi Azure PowerShell untuk menginstal dan masuk ke akun Azure Anda di PowerShell.
Penting
Sumber daya Azure Cosmos DB tidak dapat diganti namanya karena ini melanggar cara kerja Azure Resource Manager dengan URI sumber daya.
Akun Azure Cosmos DB
Bagian berikut menunjukkan cara mengelola akun Azure Cosmos DB, termasuk:
- Membuat akun Azure Cosmos DB
- Memperbarui akun Azure Cosmos DB
- Mencantumkan semua akun Azure Cosmos DB dalam langganan
- Mendapatkan akun Azure Cosmos DB
- Menghapus akun Azure Cosmos DB
- Memperbarui tag untuk akun Azure Cosmos DB
- Mengubah prioritas failover untuk akun Azure Cosmos DB
- Memicu failover manual untuk akun Azure Cosmos DB
- Mencantumkan penguncian sumber daya pada akun Microsoft Azure Cosmos DB
Membuat akun Azure Cosmos DB
Perintah ini membuat akun database Microsoft Azure Cosmos DB dengan multi wilayah, failover yang dikelola layanan, dan kebijakan konsistensi kedaluwarsa terikat.
$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
Grup sumber daya Azure untuk menyebarkan akun Azure Cosmos DB. Ini harus sudah ada.$locations
Wilayah untuk akun database, wilayah denganFailoverPriority 0
adalah wilayah tulis.$accountName
Nama untuk akun Azure Cosmos DB. Harus unik, huruf kecil, hanya menyertakan karakter alfanumerik dan '-', dan panjangnya antara 3 sampai 31 karakter.$apiKind
Jenis akun Azure Cosmos DB yang akan dibuat. Untuk informasi selengkapnya, lihat API di Azure Cosmos DB.$consistencyPolicy
, ,$maxStalenessInterval
dan$maxStalenessPrefix
Tingkat konsistensi default dan pengaturan akun Azure Cosmos DB. Untuk informasi selengkapnya, lihat Tingkat Konsistensi di Microsoft Azure Cosmos DB.
Akun Azure Cosmos DB dapat dikonfigurasi dengan IP Firewall, titik akhir layanan Virtual Network, dan titik akhir privat. Untuk informasi tentang cara mengonfigurasi IP Firewall untuk Microsoft Azure Cosmos DB, lihat Konfigurasikan IP Firewall. Untuk informasi tentang cara mengaktifkan titik akhir layanan untuk Microsoft Azure Cosmos DB, lihat Konfigurasikan akses dari virtual Network. Untuk informasi tentang cara mengaktifkan titik akhir privat untuk Microsoft Azure Cosmos DB, lihat Konfigurasikan akses dari titik akhir privat.
Mencantumkan semua akun Azure Cosmos DB dalam Grup Sumber Daya
Perintah ini mencantumkan semua akun Azure Cosmos DB dalam Grup Sumber Daya.
$resourceGroupName = "myResourceGroup"
Get-AzCosmosDBAccount -ResourceGroupName $resourceGroupName
Mendapatkan properti akun Azure Cosmos DB
Perintah ini memungkinkan Anda untuk mendapatkan properti akun Azure Cosmos DB yang ada.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
Get-AzCosmosDBAccount -ResourceGroupName $resourceGroupName -Name $accountName
Memperbarui akun Azure Cosmos DB
Perintah ini memungkinkan Anda memperbarui properti akun database Microsoft Azure Cosmos DB Anda. Properti yang bisa diperbarui meliputi yang berikut ini:
- Menambahkan atau menghapus wilayah
- Mengubah kebijakan konsistensi default
- Mengubah Filter Rentang IP
- Mengubah konfigurasi Virtual Network
- Mengaktifkan penulisan multi-wilayah
Catatan
Anda tidak dapat menambahkan atau menghapus wilayahlocations
() secara bersamaan dan mengubah properti lain untuk akun Azure Cosmos DB. Memodifikasi wilayah harus dilakukan sebagai operasi terpisah dari perubahan lain pada akun.
Catatan
Perintah ini memungkinkan Anda untuk menambah dan menghapus wilayah tetapi tidak memungkinkan Anda untuk memodifikasi prioritas failover atau memicu failover manual. Lihat Ubah prioritas failover dan Pemicu failover manual.
Tip
Saat wilayah baru ditambahkan, semua data harus sepenuhnya direplikasi dan diterapkan ke wilayah baru sebelum wilayah ditandai sebagai tersedia. Jumlah waktu yang diperlukan operasi ini akan tergantung pada berapa banyak data yang disimpan dalam akun tersebut. Jika operasi penskalaan throughput asinkron sedang berlangsung, operasi peningkatan skala throughput akan dijeda dan akan dilanjutkan secara otomatis saat operasi penambahan/penghapusan wilayah selesai.
# 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."
Mengaktifkan beberapa wilayah tulis untuk akun 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
Menghapus akun Azure Cosmos DB
Perintah ini menghapus akun Azure Cosmos DB yang sudah ada.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
Remove-AzCosmosDBAccount `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-PassThru:$true
Memperbarui Tag akun Azure Cosmos DB
Perintah ini mengatur tag sumber daya Azure untuk akun Azure Cosmos DB. Tag dapat diatur baik pada pembuatan akun menggunakan New-AzCosmosDBAccount
maupun pada pembaruan akun menggunakan Update-AzCosmosDBAccount
.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$tags = @{dept = "Finance"; environment = "Production";}
Update-AzCosmosDBAccount `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-Tag $tags
Mengaktifkan failover yang Dikelola Layanan
Perintah berikut menetapkan akun Azure Cosmos DB untuk melakukan failover yang dikelola layanan ke wilayah sekundernya jika wilayah utama menjadi tidak tersedia.
$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
Mengubah Prioritas Failover
Untuk akun yang dikonfigurasi dengan Service-Managed Failover, Anda dapat mengubah urutan di mana Azure Cosmos DB akan mempromosikan replika sekunder ke primer jika primer menjadi tidak tersedia.
Untuk contoh di bawah ini, asumsikan prioritas failover saat ini adalah West US = 0
, East US = 1
, South Central US = 2
. Perintah akan mengubah ini menjadi West US = 0
, South Central US = 1
, East US = 2
.
Perhatian
Mengubah lokasi untuk failoverPriority=0
akan memicu failover manual untuk akun Azure Cosmos DB. Perubahan prioritas lainnya tidak akan memicu 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
Picu Failover Manual
Untuk akun yang dikonfigurasi dengan Failover Manual, Anda dapat failover dan mempromosikan replika sekunder ke primer dengan mengubahnya menjadi failoverPriority=0
. Operasi ini dapat digunakan untuk memulai latihan pemulihan bencana demi menguji perencanaan pemulihan bencana.
Untuk contoh di bawah ini, asumsikan akun memiliki prioritas failover saat ini West US = 0
dan East US = 1
dan balikkan wilayahnya.
Perhatian
Mengubah locationName
untuk failoverPriority=0
akan memicu failover manual untuk akun Azure Cosmos DB. Perubahan prioritas lainnya tidak akan memicu kegagalan.
Catatan
Jika Anda melakukan operasi failover manual saat operasi penskalaan throughput asinkron sedang berlangsung, operasi peningkatan throughput akan dihentikan. Ini akan dilanjutkan secara otomatis ketika operasi failover selesai.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$locations = @("East US", "West US") # Regions ordered by UPDATED failover priority
Update-AzCosmosDBAccountFailoverPriority `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-FailoverPolicy $locations
Mencantumkan penguncian sumber daya pada akun Microsoft Azure Cosmos DB
Penguncian sumber daya dapat ditempatkan pada sumber daya Microsoft Azure Cosmos DB termasuk database dan koleksi. Contoh di bawah ini memperlihatkan cara mencantumkan semua penguncian sumber daya Azure pada akun Microsoft Azure Cosmos DB.
$resourceGroupName = "myResourceGroup"
$resourceTypeAccount = "Microsoft.DocumentDB/databaseAccounts"
$accountName = "mycosmosaccount"
Get-AzResourceLock `
-ResourceGroupName $resourceGroupName `
-ResourceType $resourceTypeAccount `
-ResourceName $accountName
Database Microsoft Azure Cosmos DB
Bagian berikut menunjukkan cara mengelola akun Azure Cosmos, termasuk:
- Membuat database Microsoft Azure Cosmos DB
- Membuat database Microsoft Azure Cosmos DB dengan throughput bersama
- Mendapatkan throughput database Microsoft Azure Cosmos DB
- Memigrasikan throughput database ke skala otomatis
- Mencantumkan semua database Microsoft Azure Cosmos DB dalam akun
- Mendapatkan satu database Microsoft Azure Cosmos DB
- Menghapus database Microsoft Azure Cosmos DB
- Membuat penguncian sumber daya pada database Microsoft Azure Cosmos DB untuk mencegah penghapusan
- Menghapus penguncian sumber daya pada database Microsoft Azure Cosmos DB
Membuat database Microsoft Azure Cosmos DB
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
New-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Membuat database Microsoft Azure Cosmos DB dengan throughput bersama
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$databaseRUs = 400
New-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName `
-Throughput $databaseRUs
Dapatkan throughput database Microsoft Azure Cosmos DB
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Get-AzCosmosDBSqlDatabaseThroughput `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Migrasikan throughput database ke skala otomatis
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Invoke-AzCosmosDBSqlDatabaseThroughputMigration `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName `
-ThroughputType Autoscale
Dapatkan semua database Microsoft Azure Cosmos DB dalam akun
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
Get-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName
Dapatkan satu database Microsoft Azure Cosmos DB
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Get-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Hapus database Microsoft Azure Cosmos DB
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Remove-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Buat penguncian sumber daya pada database Microsoft Azure Cosmos DB untuk mencegah penghapusan
$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
Hapus penguncian sumber daya pada database Microsoft 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
Kontainer Microsoft Azure Cosmos DB
Bagian berikut menunjukkan cara mengelola akun Microsoft Azure Cosmos DB, termasuk:
- Membuat kontainer Microsoft Azure Cosmos DB
- Membuat kontainer Microsoft Azure Cosmos DB dengan skala otomatis
- Membuat kontainer Microsoft Azure Cosmos DB dengan ukuran kunci partisi besar
- Mendapatkan throughput kontainer Microsoft Azure Cosmos DB
- Memigrasikan throughput kontainer ke skala otomatis
- Membuat kontainer Microsoft Azure Cosmos DB dengan pengindeksan kustom
- Membuat kontainer Microsoft Azure Cosmos DB tanpa pengindeksan
- Membuat kontainer Microsoft Azure Cosmos DB dengan kunci unik dan TTL
- Membuat kontainer Microsoft Azure Cosmos DB dengan resolusi konflik
- Mencantumkan semua kontainer Microsoft Azure Cosmos DB dalam database
- Mendapatkan satu kontainer Microsoft Azure Cosmos DB dalam database
- Menghapus kontainer Microsoft Azure Cosmos DB
- Membuat penguncian sumber daya pada kontainer Microsoft Azure Cosmos DB untuk mencegah penghapusan
- Menghapus penguncian sumber daya pada kontainer Microsoft Azure Cosmos DB
Buat kontainer Microsoft 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
Buat kontainer Microsoft Azure Cosmos DB dengan skala otomatis
# 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
Buat kontainer Microsoft Azure Cosmos DB dengan ukuran kunci partisi besar
# 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
Dapatkan throughput kontainer Microsoft Azure Cosmos DB
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
Get-AzCosmosDBSqlContainerThroughput `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName `
-Name $containerName
Migrasikan throughput kontainer ke skala otomatis
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
Invoke-AzCosmosDBSqlContainerThroughputMigration `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName `
-Name $containerName `
-ThroughputType Autoscale
Buat kontainer Microsoft Azure Cosmos DB dengan kebijakan pengindeksan kustom
# 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
Buat kontainer Microsoft Azure Cosmos DB tanpa pengindeksan
# 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
Buat kontainer Microsoft Azure Cosmos DB dengan kebijakan kunci unik dan 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
Buat kontainer Microsoft Azure Cosmos DB dengan resolusi konflik
Untuk menulis semua konflik ke ConflictsFeed dan menangani secara terpisah, izinkan -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
Untuk membuat kebijakan penyelesaian konflik untuk menggunakan prosedur tersimpan, panggil New-AzCosmosDBSqlConflictResolutionPolicy
dan izinkan parameter -Type
dan -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
Cantumkan semua kontainer Microsoft Azure Cosmos DB dalam database
# List all Azure Cosmos DB containers in a database
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Get-AzCosmosDBSqlContainer `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName
Dapatkan satu kontainer Microsoft Azure Cosmos DB dalam database
# 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
Hapus kontainer Microsoft 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
Buat penguncian sumber daya pada kontainer Microsoft Azure Cosmos DB untuk mencegah penghapusan
$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
Hapus penguncian sumber daya pada kontainer Microsoft 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