Azure Cosmos DB için otomatik ölçeklendirme ile veritabanı ve kapsayıcı oluşturma - NoSQL için API
UYGULANANLAR: NoSQL
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.
Bu örnek Için Azure PowerShell Az 5.4.0 veya üzeri gerekir. Hangi sürümlerin yüklü olduğunu görmek için komutunu çalıştırın Get-Module -ListAvailable Az
.
Yüklemeniz gerekiyorsa bkz . Azure PowerShell modülünü yükleme.
Azure'da oturum açmak için Connect-AzAccount komutunu çalıştırın.
Örnek betik
Bu betik, oturum düzeyi tutarlılığı olan iki bölgede NoSQL için API için bir Azure Cosmos DB hesabı, bir veritabanı ve otomatik ölçeklendirme aktarım hızı ve varsayılan dizin ilkesine sahip bir kapsayıcı oluşturur.
# Reference: Az.CosmosDB | https://docs.microsoft.com/powershell/module/az.cosmosdb
# --------------------------------------------------
# Purpose
# Create Cosmos SQL API account, database, and container with autoscale throughput,
# --------------------------------------------------
Function New-RandomString{Param ([Int]$Length = 10) return $(-join ((97..122) + (48..57) | Get-Random -Count $Length | ForEach-Object {[char]$_}))}
# --------------------------------------------------
$uniqueId = New-RandomString -Length 7 # Random alphanumeric string for unique resource names
$apiKind = "Sql"
# --------------------------------------------------
# Variables - ***** SUBSTITUTE YOUR VALUES *****
$locations = @()
$locations += New-AzCosmosDBLocationObject -LocationName "East Us" -FailoverPriority 0 -IsZoneRedundant 0
$locations += New-AzCosmosDBLocationObject -LocationName "West Us" -FailoverPriority 1 -IsZoneRedundant 0
$resourceGroupName = "myResourceGroup" # Resource Group must already exist
$accountName = "cosmos-$uniqueId" # Must be all lower case
$consistencyLevel = "Session"
$databaseName = "myDatabase"
$containerName = "myContainer"
$autoscaleMaxThroughput = 4000 #minimum = 4000
$partitionKeyPath = "/myPartitionKey"
# --------------------------------------------------
Write-Host "Creating account $accountName"
$account = New-AzCosmosDBAccount -ResourceGroupName $resourceGroupName `
-LocationObject $locations -Name $accountName -ApiKind $apiKind `
-DefaultConsistencyLevel $consistencyLevel `
-EnableAutomaticFailover:$true
Write-Host "Creating database $databaseName"
$database = New-AzCosmosDBSqlDatabase -ParentObject $account -Name $databaseName
Write-Host "Creating container $containerName"
$container = New-AzCosmosDBSqlContainer `
-ParentObject $database -Name $containerName `
-PartitionKeyKind Hash -PartitionKeyPath $partitionKeyPath `
-AutoscaleMaxThroughput $autoscaleMaxThroughput
Dağıtımı temizleme
Betik örneği çalıştırıldıktan sonra, kaynak grubunu ve onunla ilişkili tüm kaynakları kaldırmak için aşağıdaki komut kullanılabilir.
Remove-AzResourceGroup -ResourceGroupName "myResourceGroup"
Betik açıklaması
Bu betik aşağıdaki komutları kullanır. Tablodaki her komut, komuta özgü belgelere yönlendirir.
Command | Notlar |
---|---|
Azure Cosmos DB | |
New-AzCosmosDBAccount | Bir Azure Cosmos DB Hesabı oluşturur. |
New-AzCosmosDBSqlDatabase | Azure Cosmos DB SQL Veritabanı oluşturur. |
New-AzCosmosDBSqlContainer | Yeni bir Azure Cosmos DB SQL Kapsayıcısı oluşturur. |
Azure Kaynak Grupları | |
Remove-AzResourceGroup | Bir kaynak grubunu tüm iç içe geçmiş kaynaklar dahil siler. |
Sonraki adımlar
Azure PowerShell hakkında daha fazla bilgi için bkz. Azure PowerShell belgeleri.