Az Azure Cosmos DB for NoSQL-erőforrások kezelése a PowerShell használatával
A KÖVETKEZŐRE VONATKOZIK: NoSQL
Az alábbi útmutató bemutatja, hogyan használható a PowerShell az Azure Cosmos DB for NoSQL-erőforrások, köztük az Azure Cosmos DB-fiók, az adatbázis, a tároló és az átviteli sebesség felügyeletének szkriptelésére és automatizálására. Más API-kHoz készült PowerShell-parancsmagokért lásd : PowerShell-minták a Cassandra-hoz, PowerShell-minták a MongoDB API-hoz, PowerShell-minták a Gremlinhez, PowerShell-minták táblázathoz
Feljegyzés
A cikkben szereplő minták Az.CosmosDB felügyeleti parancsmagokat használnak. A legújabb módosításokért tekintse meg az Az.CosmosDB API referenciaoldalát.
Az Azure Cosmos DB platformfüggetlen kezeléséhez használhatja a parancsmagokat platformfüggetlen Az.CosmosDB
PowerShell-lel, valamint az Azure CLI-t, a REST API-t vagy az Azure Portalt.Az
Feljegyzés
Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Első lépésként tekintse meg az Azure PowerShell telepítését ismertető témakört. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.
Első lépések
Kövesse az Azure PowerShell telepítését és konfigurálását az Azure-fiók PowerShellben való telepítéséhez és konfigurálásához.
Fontos
Az Azure Cosmos DB-erőforrások nem nevezhetők át, mivel ez sérti az Azure Resource Manager erőforrás-URI-kkal való működését.
Azure Cosmos DB-fiókok
Az alábbi szakaszok bemutatják, hogyan kezelheti az Azure Cosmos DB-fiókot, többek között az alábbiakat:
- Azure Cosmos DB-fiók létrehozása
- Azure Cosmos DB-fiók frissítése
- Az előfizetésben lévő összes Azure Cosmos DB-fiók listázása
- Azure Cosmos DB-fiók lekérése
- Azure Cosmos DB-fiók törlése
- Azure Cosmos DB-fiók címkéinek frissítése
- Azure Cosmos DB-fiók kulcsainak listázása
- Kulcsok újragenerálása Egy Azure Cosmos DB-fiókhoz
- Azure Cosmos DB-fiók kapcsolati sztring listázása
- Azure Cosmos DB-fiók feladatátvételi prioritásának módosítása
- Manuális feladatátvétel aktiválása Azure Cosmos DB-fiókhoz
- Erőforrás-zárolások listázása Egy Azure Cosmos DB-fiókon
Azure Cosmos DB-fiók létrehozása
Ez a parancs létrehoz egy Azure Cosmos DB-adatbázisfiókot több régióval, szolgáltatás által felügyelt feladatátvételi és kötött-elavultsági konzisztenciaszabályzattal.
$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
Az Azure-erőforráscsoport, amelybe telepíteni szeretné az Azure Cosmos DB-fiókot. Már léteznie kell.$locations
Az adatbázisfiók régiói, a régió pedigFailoverPriority 0
az írási régió.$accountName
Az Azure Cosmos DB-fiók neve. Egyedinek kell lennie, kisbetűsnek kell lennie, csak alfanumerikus és "-" karaktereket kell tartalmaznia, és 3 és 31 karakter közötti hosszúságúnak kell lennie.$apiKind
A létrehozandó Azure Cosmos DB-fiók típusa. További információ: API-k az Azure Cosmos DB-ben.$consistencyPolicy
,$maxStalenessInterval
és$maxStalenessPrefix
az Azure Cosmos DB-fiók alapértelmezett konzisztenciaszintje és beállításai. További információ: Konzisztenciaszintek az Azure Cosmos DB-ben.
Az Azure Cosmos DB-fiókok konfigurálhatók IP-tűzfallal, virtuális hálózati szolgáltatásvégpontokkal és privát végpontokkal. Az Azure Cosmos DB IP-tűzfalának konfigurálásáról további információt az IP-tűzfal konfigurálása című témakörben talál. Az Azure Cosmos DB szolgáltatásvégpontjainak engedélyezéséről további információt a virtuális hálózatokról való hozzáférés konfigurálása című témakörben talál. További információ a privát végpontok Azure Cosmos DB-hez való engedélyezéséről: Hozzáférés konfigurálása privát végpontokról.
Az összes Azure Cosmos DB-fiók listázása erőforráscsoportban
Ez a parancs egy erőforráscsoport összes Azure Cosmos DB-fiókját felsorolja.
$resourceGroupName = "myResourceGroup"
Get-AzCosmosDBAccount -ResourceGroupName $resourceGroupName
Azure Cosmos DB-fiók tulajdonságainak lekérése
Ezzel a paranccsal lekérheti egy meglévő Azure Cosmos DB-fiók tulajdonságait.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
Get-AzCosmosDBAccount -ResourceGroupName $resourceGroupName -Name $accountName
Azure Cosmos DB-fiók frissítése
Ez a parancs lehetővé teszi az Azure Cosmos DB-adatbázisfiók tulajdonságainak frissítését. A frissíthető tulajdonságok a következők:
- Régiók hozzáadása vagy eltávolítása
- Az alapértelmezett konzisztenciaházirend módosítása
- IP-tartományszűrő módosítása
- Virtuális hálózati konfigurációk módosítása
- Többrégiós írások engedélyezése
Feljegyzés
Nem adhat hozzá vagy távolíthat el régiókat (locations
) és nem módosíthatja az Azure Cosmos DB-fiókok egyéb tulajdonságait. A régiókat külön műveletként kell végrehajtani a fiók bármely más módosításától.
Feljegyzés
Ez a parancs lehetővé teszi régiók hozzáadását és eltávolítását, de nem teszi lehetővé a feladatátvételi prioritások módosítását vagy manuális feladatátvétel indítását. Lásd: Feladatátvételi prioritás módosítása és manuális feladatátvétel aktiválása.
Tipp.
Új régió hozzáadásakor az összes adatot teljes körűen replikálni és véglegesíteni kell az új régióban, mivel a régiót csak ezt követően lehet elérhetőként megjelölni. A művelet időtartama attól függ, hogy mennyi adatot tárol a fiók. Ha az aszinkron átviteli sebesség skálázási művelete folyamatban van, az átviteli sebesség felskálázási művelete szünetel, és automatikusan folytatódik, amikor a régió hozzáadása/eltávolítása művelet befejeződött.
# 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."
Több írási régió engedélyezése Azure Cosmos DB-fiókhoz
$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-fiók törlése
Ez a parancs töröl egy meglévő Azure Cosmos DB-fiókot.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
Remove-AzCosmosDBAccount `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-PassThru:$true
Azure Cosmos DB-fiók címkéinek frissítése
Ez a parancs beállítja az Azure Cosmos DB-fiók Azure-erőforráscímkéket . A címkék a fióklétrehozáskor New-AzCosmosDBAccount
és a fiókfrissítéskor is beállíthatók a használatával Update-AzCosmosDBAccount
.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$tags = @{dept = "Finance"; environment = "Production";}
Update-AzCosmosDBAccount `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-Tag $tags
Fiókkulcsok listázása
Azure Cosmos DB-fiók létrehozásakor a szolgáltatás két elsődleges hozzáférési kulcsot hoz létre, amelyek az Azure Cosmos DB-fiók elérésekor használhatók hitelesítéshez. Írásvédett műveletek hitelesítéséhez írásvédett kulcsok is létre lesznek hozva. Két hozzáférési kulcs biztosításával az Azure Cosmos DB lehetővé teszi egy kulcs újragenerálását és elforgatását egyszerre, az Azure Cosmos DB-fiók megszakítása nélkül. Az Azure Cosmos DB-fiókok két írásvédett kulcssal (elsődleges és másodlagos) és két írásvédett kulcssal (elsődleges és másodlagos) rendelkeznek.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
Get-AzCosmosDBAccountKey `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-Type "Keys"
Kapcsolati sztringek listázása
Az alábbi parancs lekéri kapcsolati sztring az alkalmazásokat az Azure Cosmos DB-fiókhoz való csatlakozáshoz.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
Get-AzCosmosDBAccountKey `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-Type "ConnectionStrings"
Fiókkulcsok újragenerálása
Az Azure Cosmos DB-fiók hozzáférési kulcsait rendszeresen újra kell létrehozni a kapcsolatok biztonságának megőrzése érdekében. A fiókhoz elsődleges és másodlagos hozzáférési kulcsok vannak hozzárendelve. Ez lehetővé teszi az ügyfelek számára, hogy fenntartsák a hozzáférést, miközben egyszerre egy kulccsal újra létrejönnek. Egy Azure Cosmos DB-fiókhoz négy kulcstípus létezik (Elsődleges, Másodlagos, PrimaryReadonly és SecondaryReadonly)
$resourceGroupName = "myResourceGroup" # Resource Group must already exist
$accountName = "mycosmosaccount" # Must be all lower case
$keyKind = "primary" # Other key kinds: secondary, primaryReadonly, secondaryReadonly
New-AzCosmosDBAccountKey `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-KeyKind $keyKind
Szolgáltatás által felügyelt feladatátvétel engedélyezése
Az alábbi parancs beállít egy Azure Cosmos DB-fiókot egy szolgáltatás által felügyelt feladatátvétel végrehajtására a másodlagos régióba, ha az elsődleges régió elérhetetlenné válik.
$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
Feladatátvételi prioritás módosítása
A szolgáltatás által felügyelt feladatátvétellel konfigurált fiókok esetében módosíthatja azt a sorrendet, amelyben az Azure Cosmos DB előlépteti a másodlagos replikákat az elsődlegesre, ha az elsődleges nem érhető el.
Az alábbi példában feltételezzük, hogy az aktuális feladatátvételi prioritás a West US = 0
, East US = 1
. South Central US = 2
A parancs ezt a következőre módosítja: West US = 0
, South Central US = 1
. East US = 2
Figyelemfelhívás
A hely failoverPriority=0
módosítása manuális feladatátvételt indít el egy Azure Cosmos DB-fiókhoz. Az egyéb prioritási módosítások nem indítják el a feladatátvételt.
$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
Trigger manuális feladatátvétele
A manuális feladatátvétellel konfigurált fiókok esetében a feladatátvételt és a másodlagos replikák elsődlegesre való előléptetését a következő módosítással végezheti el failoverPriority=0
: Ezzel a művelettel vészhelyreállítási próbát kezdeményezhet a vészhelyreállítás tervezésének teszteléséhez.
Az alábbi példában tegyük fel, hogy a fiók aktuális feladatátvételi prioritással rendelkezik West US = 0
, és East US = 1
megfordítja a régiókat.
Figyelemfelhívás
failoverPriority=0
A módosítás locationName
manuális feladatátvételt indít el egy Azure Cosmos DB-fiókhoz. A többi prioritás módosítása nem indítja el a feladatátvételt.
Feljegyzés
Ha manuális feladatátvételi műveletet hajt végre, miközben az aszinkron átviteli sebesség skálázási művelete folyamatban van, az átviteli sebesség felskálázási művelete szünetel. A feladatátvételi művelet befejeződésekor automatikusan folytatódik.
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$locations = @("East US", "West US") # Regions ordered by UPDATED failover priority
Update-AzCosmosDBAccountFailoverPriority `
-ResourceGroupName $resourceGroupName `
-Name $accountName `
-FailoverPolicy $locations
Erőforrás-zárolások listázása Egy Azure Cosmos DB-fiókon
Az erőforrás-zárolások elhelyezhetők az Azure Cosmos DB-erőforrásokon, beleértve az adatbázisokat és a gyűjteményeket is. Az alábbi példa bemutatja, hogyan listázhatja az Azure Cosmos DB-fiók összes Azure-erőforrás-zárolását.
$resourceGroupName = "myResourceGroup"
$resourceTypeAccount = "Microsoft.DocumentDB/databaseAccounts"
$accountName = "mycosmosaccount"
Get-AzResourceLock `
-ResourceGroupName $resourceGroupName `
-ResourceType $resourceTypeAccount `
-ResourceName $accountName
Azure Cosmos DB Database
A következő szakaszok bemutatják, hogyan kezelheti az Azure Cosmos DB-adatbázist, beleértve a következőket:
- Azure Cosmos DB-adatbázis létrehozása
- Azure Cosmos DB-adatbázis létrehozása megosztott átviteli sebességgel
- Azure Cosmos DB-adatbázis átviteli sebességének lekérése
- Adatbázis átviteli sebességének migrálása automatikus skálázásra
- Az összes Azure Cosmos DB-adatbázis listázása egy fiókban
- Egyetlen Azure Cosmos DB-adatbázis lekérése
- Azure Cosmos DB-adatbázis törlése
- Erőforrás-zárolás létrehozása azure Cosmos DB-adatbázison a törlés megakadályozása érdekében
- Erőforrás-zárolás eltávolítása egy Azure Cosmos DB-adatbázisban
Létrehoz egy Azure Cosmos DB-adatbázist
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
New-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Azure Cosmos DB-adatbázis létrehozása megosztott átviteli sebességgel
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$databaseRUs = 400
New-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName `
-Throughput $databaseRUs
Azure Cosmos DB-adatbázis átviteli sebességének lekérése
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Get-AzCosmosDBSqlDatabaseThroughput `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Adatbázis átviteli sebességének migrálása automatikus skálázásra
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Invoke-AzCosmosDBSqlDatabaseThroughputMigration `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName `
-ThroughputType Autoscale
Az összes Azure Cosmos DB-adatbázis lekérése egy fiókban
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
Get-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName
Egyetlen Azure Cosmos DB-adatbázis lekérése
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Get-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Azure Cosmos DB-adatbázis törlése
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Remove-AzCosmosDBSqlDatabase `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-Name $databaseName
Erőforrás-zárolás létrehozása azure Cosmos DB-adatbázison a törlés megakadályozása érdekében
$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
Erőforrás-zárolás eltávolítása egy Azure Cosmos DB-adatbázisban
$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-tároló
Az alábbi szakaszok bemutatják, hogyan kezelheti az Azure Cosmos DB-tárolót, beleértve a következőket:
- Azure Cosmos DB-tároló létrehozása
- Azure Cosmos DB-tároló létrehozása automatikus skálázással
- Azure Cosmos DB-tároló létrehozása nagy partíciókulccsal
- Azure Cosmos DB-tároló átviteli sebességének lekérése
- Tároló átviteli sebességének áttelepítése automatikus skálázásra
- Azure Cosmos DB-tároló létrehozása egyéni indexeléssel
- Azure Cosmos DB-tároló létrehozása az indexelés kikapcsolásával
- Azure Cosmos DB-tároló létrehozása egyedi kulccsal és TTL-vel
- Azure Cosmos DB-tároló létrehozása ütközésfeloldással
- Az összes Azure Cosmos DB-tároló listázása egy adatbázisban
- Egyetlen Azure Cosmos DB-tároló lekérése egy adatbázisban
- Azure Cosmos DB-tároló törlése
- Erőforrás-zárolás létrehozása egy Azure Cosmos DB-tárolón a törlés megakadályozása érdekében
- Erőforrás-zárolás eltávolítása egy Azure Cosmos DB-tárolón
Azure Cosmos DB-tároló létrehozása
# 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
Azure Cosmos DB-tároló létrehozása automatikus skálázással
# 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
Azure Cosmos DB-tároló létrehozása nagy partíciókulcs-mérettel
# 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-tároló átviteli sebességének lekérése
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
Get-AzCosmosDBSqlContainerThroughput `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName `
-Name $containerName
Tároló átviteli sebességének áttelepítése automatikus skálázásra
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
Invoke-AzCosmosDBSqlContainerThroughputMigration `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName `
-Name $containerName `
-ThroughputType Autoscale
Azure Cosmos DB-tároló létrehozása egyéni indexszabályzattal
# 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
Azure Cosmos DB-tároló létrehozása az indexelés kikapcsolásával
# 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-tároló létrehozása egyedi kulcsszabályzattal és TTL-vel
# 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
Azure Cosmos DB-tároló létrehozása ütközésfeloldással
Ha az összes ütközést a ConflictsFeedbe szeretné írni, és külön kezelni szeretné, adja át -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
Ha egy tárolt eljárás használatához ütközésfeloldási szabályzatot szeretne létrehozni, hívja meg New-AzCosmosDBSqlConflictResolutionPolicy
és adja át a paramétereket -Type
és -ConflictResolutionProcedure
a .
# 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
Az összes Azure Cosmos DB-tároló listázása egy adatbázisban
# List all Azure Cosmos DB containers in a database
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
Get-AzCosmosDBSqlContainer `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName
Egyetlen Azure Cosmos DB-tároló lekérése egy adatbázisban
# 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-tároló törlése
# Delete an Azure Cosmos DB container
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$databaseName = "myDatabase"
$containerName = "myContainer"
Remove-AzCosmosDBSqlContainer `
-ResourceGroupName $resourceGroupName `
-AccountName $accountName `
-DatabaseName $databaseName `
-Name $containerName
Erőforrás-zárolás létrehozása egy Azure Cosmos DB-tárolón a törlés megakadályozása érdekében
$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
Erőforrás-zárolás eltávolítása egy Azure Cosmos DB-tárolón
$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