إنشاء حاوية مع مفتاح قسم كبير في حساب DB Cosmos Azure باستخدام PowerShell

ينطبق على: 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.

نموذج البرنامج النصي

# Reference: Az.CosmosDB | https://docs.microsoft.com/powershell/module/az.cosmosdb
# --------------------------------------------------
# Purpose
# Create Cosmos DB SQL API account, database, and container with dedicated throughput and no indexing policy
# --------------------------------------------------
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"
$tags = @{Tag1 = "MyTag1"; Tag2 = "MyTag2"; Tag3 = "MyTag3"}
$databaseName = "myDatabase"
$containerName = "myContainer"
$containerRUs = 400
$partitionKeyPath = "/myPartitionKey"
# --------------------------------------------------
Write-Host "Creating account $accountName"
$account = New-AzCosmosDBAccount -ResourceGroupName $resourceGroupName `
    -LocationObject $locations -Name $accountName -ApiKind $apiKind -Tag $tags `
    -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 `
    -Throughput $containerRUs -PartitionKeyVersion 2 `
    -PartitionKeyKind Hash -PartitionKeyPath $partitionKeyPath

تنظيف النشر

بعد تشغيل نموذج البرنامج النصي، يمكن استخدام الأمر التالي لإزالة مجموعة الموارد وجميع الموارد المرتبطة بها.

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.