Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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
Nota
Sampel dalam artikel ini menggunakan cmdlet manajemen Az.CosmosDB . Lihat halaman referensi API Az.CosmosDB untuk perubahan terbaru.
Untuk manajemen lintas platform Azure Cosmos DB, Anda dapat menggunakan Az cmdlet dan Az.CosmosDB dengan PowerShell lintas platform, dan Azure CLI, REST API, atau portal Microsoft Azure.
Nota
Kami merekomendasikan agar Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Untuk memulai, lihat Install Azure PowerShell. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.
Getting Started
Ikuti instruksi di Cara menginstal dan mengonfigurasi Azure PowerShell untuk menginstal dan masuk ke akun Azure Anda di PowerShell.
Important
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
- Mengaktifkan penanganan kerusakan secara manual pada akun Azure Cosmos DB
- Mencantumkan kunci sumber daya pada akun Azure Cosmos DB
Membuat akun Azure Cosmos DB
Perintah ini membuat akun database Azure Cosmos DB dengan beberapa wilayah, failover yang dikelola oleh layanan, dan kebijakan konsistensi bounded-staleness.
$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
-
$resourceGroupNameGrup sumber daya Azure yang digunakan untuk menyebarkan akun Azure Cosmos DB. Pasti sudah ada. -
$locationsWilayah untuk akun database, wilayah denganFailoverPriority 0adalah wilayah penulisan. -
$accountNameNama untuk akun Azure Cosmos DB. Harus unik, huruf kecil, hanya menyertakan karakter alfanumerik dan '-', dan panjangnya antara 3 dan 31 karakter. -
$apiKindJenis akun Azure Cosmos DB yang akan dibuat. Untuk informasi selengkapnya, lihat API di Azure Cosmos DB. -
$consistencyPolicy, ,$maxStalenessIntervaldan$maxStalenessPrefixTingkat konsistensi default dan pengaturan akun Azure Cosmos DB. Untuk informasi selengkapnya, lihat Tingkat Konsistensi di 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 Azure Cosmos DB, lihat Mengonfigurasi IP Firewall. Untuk informasi tentang cara mengaktifkan titik akhir layanan untuk Azure Cosmos DB, lihat Mengonfigurasi akses dari jaringan virtual. Untuk informasi tentang cara mengaktifkan titik akhir privat untuk Azure Cosmos DB, lihat Mengonfigurasi 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 Azure Cosmos DB Anda. Properti yang dapat 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
Nota
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 ke akun.
Nota
Perintah ini memungkinkan Anda untuk menambah dan menghapus wilayah tetapi tidak memungkinkan Anda untuk memodifikasi prioritas failover atau memicu failover manual. Lihat Mengubah prioritas failover dan Memicu 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 dan 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
Ubah Prioritas Pemulihan Otomatis (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 = 1South Central US = 2. Perintah akan mengubah ini menjadi West US = 0, South Central US = 1, East US = 2.
Caution
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
Memicu Failover Secara Manual
Untuk akun yang dikonfigurasi dengan Failover Manual, Anda dapat melakukan failover dan mempromosikan replika sekunder apa pun ke primer dengan memodifikasi ke failoverPriority=0. Operasi ini dapat digunakan untuk memulai latihan pemulihan bencana untuk menguji perencanaan pemulihan bencana.
Untuk contoh di bawah ini, asumsikan akun memiliki prioritas failover saat ini yaitu West US = 0 dan East US = 1, serta membalikkan prioritas ke wilayah lain.
Caution
Mengubah locationName untuk failoverPriority=0 akan memicu failover manual untuk akun Azure Cosmos DB. Perubahan prioritas lainnya tidak akan memicu kegagalan.
Nota
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 kunci sumber daya pada akun Azure Cosmos DB
Kunci sumber daya dapat ditempatkan pada sumber daya Azure Cosmos DB termasuk database dan koleksi. Contoh di bawah ini menunjukkan cara mencantumkan semua kunci sumber daya Azure di akun Azure Cosmos DB.
$resourceGroupName = "myResourceGroup"
$resourceTypeAccount = "Microsoft.DocumentDB/databaseAccounts"
$accountName = "mycosmosaccount"
Get-AzResourceLock `
-ResourceGroupName $resourceGroupName `
-ResourceType $resourceTypeAccount `
-ResourceName $accountName
Azure Cosmos DB Database
Bagian berikut menunjukkan cara mengelola database Azure Cosmos DB, termasuk:
- Membuat database Azure Cosmos DB
- Membuat database Azure Cosmos DB dengan throughput bersama
- Mengambil throughput dari database Azure Cosmos DB
- Memigrasikan kapasitas throughput database ke skala otomatis
- Mencantumkan semua database Azure Cosmos DB dalam akun
- Mendapatkan satu database Azure Cosmos DB
- Menghapus database Azure Cosmos DB
- Membuat kunci sumber daya pada database Azure Cosmos DB untuk mencegah penghapusan
- Menghapus kunci sumber daya pada database Azure Cosmos DB
Membuat database Azure Cosmos DB
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
New-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Buat database Azure Cosmos DB dengan pembagian throughput
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$databaseRUs = 400
New-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName `
-Throughput $databaseRUs
Memperoleh throughput dari database Azure Cosmos DB
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Get-AzCosmosDBSqlDatabaseThroughput `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Memigrasikan throughput database ke skala otomatis
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Invoke-AzCosmosDBSqlDatabaseThroughputMigration `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName `
-ThroughputType Autoscale
Mendapatkan semua database Azure Cosmos DB dalam akun
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
Get-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName
Dapatkan satu buah database Azure Cosmos DB
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Get-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Menghapus database di Azure Cosmos DB
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Remove-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Membuat kunci sumber daya pada database 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
Menghapus kunci sumber daya pada database 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 Azure Cosmos DB
Bagian berikut menunjukkan cara mengelola akun Microsoft Azure Cosmos DB, termasuk:
- Membuat kontainer Azure Cosmos DB
- Membuat kontainer Azure Cosmos DB dengan skala otomatis
- Membuat kontainer Azure Cosmos DB dengan kunci partisi besar
- Melihat nilai throughput dari suatu kontainer Azure Cosmos DB
- Memigrasikan throughput kontainer ke skala otomatis
- Membuat kontainer Azure Cosmos DB dengan pengindeksan kustom
- Membuat kontainer Azure Cosmos DB dengan pengindeksan dinonaktifkan
- Membuat kontainer Azure Cosmos DB dengan kunci unik dan TTL
- Membuat kontainer Azure Cosmos DB dengan resolusi konflik
- Mencantumkan semua kontainer Azure Cosmos DB dalam database
- Dapatkan satu kontainer Azure Cosmos DB dalam database
- Menghapus kontainer Azure Cosmos DB
- Membuat kunci sumber daya pada kontainer Azure Cosmos DB untuk mencegah penghapusan
- Menghapus kunci sumber daya pada kontainer Azure Cosmos DB
Membuat kontainer 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
Membuat kontainer 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
Membuat kontainer 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
Mendapatkan kapasitas throughput dari kontainer Azure Cosmos DB
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
Get-AzCosmosDBSqlContainerThroughput `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName `
-Name $containerName
Memigrasikan throughput kontainer ke penskalaan otomatis
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
Invoke-AzCosmosDBSqlContainerThroughputMigration `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName `
-Name $containerName `
-ThroughputType Autoscale
Membuat kontainer Azure Cosmos DB dengan kebijakan indeks 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
Membuat kontainer Azure Cosmos DB dengan pengindeksan dinonaktifkan
# 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
Membuat kontainer 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
Membuat kontainer Azure Cosmos DB dengan resolusi konflik
Untuk menulis semua konflik ke ConflictsFeed dan menangani secara terpisah, lewatkan parameter -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 resolusi konflik dengan menggunakan prosedur tersimpan, panggil New-AzCosmosDBSqlConflictResolutionPolicy dan masukkan 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
Mencantumkan semua kontainer 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 Azure Cosmos DB di 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
Menghapus kontainer 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
Membuat kunci sumber daya pada kontainer 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
Menghapus kunci sumber daya pada kontainer 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