إنشاء قاعدة بيانات وحاوية مع مقياس تلقائي ل Azure Cosmos DB - API ل NoSQL
ينطبق على: NoSQL
إشعار
نوصي باستخدام الوحدة النمطية Azure Az PowerShell للتفاعل مع Azure. للبدء، راجع تثبيت Azure PowerShell. لمعرفة كيفية الترحيل إلى الوحدة النمطية Az PowerShell، راجع ترحيل Azure PowerShell من AzureRM إلى Az.
يتطلب هذا النموذج Azure PowerShell Az 5.4.0 أو أحدث. اضغط Get-Module -ListAvailable Az
لمعرفة الإصدارات المثبتة.
إذا كنت بحاجة إلى التثبيت، راجع نموذجInstall Azure PowerShell.
اضغط Connect-AzAccount لتسجيل الدخول إلى Azure.
نموذج البرنامج النصي
ينشئ هذا البرنامج النصي حساب Azure Cosmos DB لواجهة برمجة التطبيقات ل NoSQL في منطقتين مع تناسق مستوى الجلسة وقاعدة بيانات وحاوية ذات معدل نقل تلقائي ونهج فهرس افتراضي.
# 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
تنظيف النشر
بعد تشغيل نموذج البرنامج النصي، يمكن استخدام الأمر التالي لإزالة مجموعة الموارد وجميع الموارد المرتبطة بها.
Remove-AzResourceGroup -ResourceGroupName "myResourceGroup"
شرح السيناريو
يستخدم هذا البرنامج النصي الأوامر التالية. يرتبط كل أمر في الجدول بأمر وثائق معينة.
الأمر | ملاحظات |
---|---|
Azure Cosmos DB | |
New-AzCosmosDBAccount | إنشاء حساب Azure Cosmos DB. |
New-AzCosmosDBSqlDatabase | إنشاء قاعدة بيانات Azure Cosmos DB SQL. |
New-AzCosmosDBSqlContainer | إنشاء حاوية Azure Cosmos DB SQL جديدة. |
مجموعات موارد Azure | |
Remove-AzResourceGroup | يحذف مجموعة الموارد بما في ذلك جميع الموارد المتداخلة. |
الخطوات التالية
للحصول على مزيدٍ من المعلومات عن Azure PowerShell، راجع وثائق Azure PowerShell.