快速入门:使用 Bicep 模板创建 Azure Cosmos DB for MongoDB vCore 群集

适用对象: MongoDB vCore

在本快速入门中,你将创建新的 Azure Cosmos DB for MongoDB vCore 群集。 此群集包含所有 MongoDB 资源:数据库、集合和文档。 该群集为各种工具和 SDK 提供唯一终结点,用于连接到 Azure Cosmos DB 并执行日常操作。

先决条件

查阅 Bicep 文件

本快速入门中使用的 Bicep 文件来自 Azure 快速入门模板

@description('Azure Cosmos DB MongoDB vCore cluster name')
@maxLength(44)
param clusterName string = 'msdocs-${uniqueString(resourceGroup().id)}'

@description('Location for the cluster.')
param location string = resourceGroup().location

@description('Username for admin user')
param adminUsername string

@secure()
@description('Password for admin user')
@minLength(8)
@maxLength(128)
param adminPassword string

resource cluster 'Microsoft.DocumentDB/mongoClusters@2022-10-15-preview' = {
  name: clusterName
  location: location
  properties: {
    administratorLogin: adminUsername
    administratorLoginPassword: adminPassword
    nodeGroupSpecs: [
        {
            kind: 'Shard'
            shardCount: 1
            sku: 'M40'
            diskSizeGB: 128
            enableHa: false
        }
    ]
  }
}

resource firewallRules 'Microsoft.DocumentDB/mongoClusters/firewallRules@2022-10-15-preview' = {
  parent: cluster
  name: 'AllowAllAzureServices'
  properties: {
    startIpAddress: '0.0.0.0'
    endIpAddress: '0.0.0.0'
  }
}

注意

请注意,在上面的代码中,shardGroupSpecs 称为 nodeGroupSpecs。

该 Bicep 文件中定义了两个 Azure 资源:

部署 Bicep 文件

使用 Bicep 模板创建 Azure Cosmos DB for MongoDB vCore 群集。

  1. resourceGroupNamelocation 创建 shell 变量

    # Variable for resource group name and location
    resourceGroupName="msdocs-cosmos-quickstart-rg"
    location="chinaeast"
    
  2. 如果尚未登录,请使用 az login 命令登录到 Azure CLI。

  3. 使用 az group create 命令在订阅中创建新的资源组。

    az group create \
        --name $resourceGroupName \
        --location $location
    
  4. 使用 az deployment group create 部署 bicep 模板。 然后,系统会提示输入 adminUsernameadminPassword 参数的值。

    az deployment group create \
        --resource-group $resourceGroupName \
        --template-file 'main.bicep'
    

    提示

    或者,使用 --parameters 选项传入具有预定义值的参数文件。

    az deployment group create \
        --resource-group $resourceGroupName \
        --template-file 'main.bicep' \
        --parameters @main.parameters.json
    

    此示例 JSON 文件分别注入 adminUsernameadminPassword 参数的 clusteradminP@ssw.rd 值。

    {
      "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {
        "adminUsername": {
          "value": "clusteradmin"
        },
        "adminPassword": {
          "value": "P@ssw.rd"
        }
      }
    }
    
  5. 请等待部署操作完成,然后再继续。

查看已部署的资源

列出 Bicep 模板部署到目标资源组的资源。

  1. 使用 az resource list 获取资源组中的资源列表。

    az resource list \
        --resource-group $resourceGroupName \
        --location $location \
        --output tsv
    
  2. 在示例输出中,查找类型为 Microsoft.DocumentDB/mongoClusters 的资源。 下面是预期输出类型的示例:

    Name                  ResourceGroup                Location    Type                                Status
    --------------------  ---------------------------  ----------  ----------------------------------  --------
    msdocs-sz2dac3xtwzzu  msdocs-cosmos-quickstart-rg  chinaeast      Microsoft.DocumentDB/mongoClusters
    

清理资源

执行完 Azure Cosmos DB for MongoDB vCore 群集的操作后,可以删除所创建的 Azure 资源,以免产生更多费用。

  1. 使用 az group delete 从订阅中删除资源组。

    az group delete \
        --name $resourceGroupName
    

下一步

在本指南中,你了解了如何创建 Azure Cosmos DB for MongoDB vCore 群集。 现在可以将数据迁移到群集。