使用 Azure Resource Manager 範本管理 Azure Cosmos DB for Gremlin 資源
適用於: Gremlin
在本文中,您會了解如何利用 Azure Resource Manager 範本來部署和管理 Azure Cosmos DB 帳戶、資料庫和圖形。
本文僅提供 API for Gremlin 帳戶的範例,若要尋找其他 API 類型帳戶的範例,請參閱:搭配使用 Azure Resource Manager 範本與 Azure Cosmos DB 的 API for Cassandra、NoSQL、MongoDB 和資料表 API 等文章。
重要
- 帳戶名稱限制為 44 個字元,全部小寫。
- 若要變更輸送量值,請使用已更新的 RU/秒重新部署範本。
- 您在新增或移除 Azure Cosmos DB 帳戶的位置時,無法同時修改其他屬性。 這些作業必須個別執行。
若要建立下列任何 Azure Cosmos DB 資源,請將下列範例範本複製到新的 JSON 檔案中。 當您使用不同的名稱和值來部署相同資源的多個執行個體時,可以選擇建立參數 JSON 檔案以供使用。 部署 Azure Resource Manager 範本的方式有很多種,包括 Azure 入口網站、Azure CLI、Azure PowerShell 和 GitHub。
適用於 Gremlin 的 Azure Cosmos DB 帳戶,具有自動調整佈建的輸送量
此範本會建立適用於 API for Gremlin 的 Azure Cosmos DB 帳戶,其中包含具有自動調整輸送量的資料庫和圖表。 此範本也適用於從 Azure 快速入門範本資源庫執行的單鍵式部署。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.8.9.13224",
"templateHash": "18150046024853886723"
}
},
"parameters": {
"accountName": {
"type": "string",
"defaultValue": "[format('gremlin-{0}', uniqueString(resourceGroup().id))]",
"metadata": {
"description": "Cosmos DB account name"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for the Cosmos DB account."
}
},
"primaryRegion": {
"type": "string",
"metadata": {
"description": "The primary replica region for the Cosmos DB account."
}
},
"secondaryRegion": {
"type": "string",
"metadata": {
"description": "The secondary replica region for the Cosmos DB account."
}
},
"defaultConsistencyLevel": {
"type": "string",
"defaultValue": "Session",
"allowedValues": [
"Eventual",
"ConsistentPrefix",
"Session",
"BoundedStaleness",
"Strong"
],
"metadata": {
"description": "The default consistency level of the Cosmos DB account."
}
},
"maxStalenessPrefix": {
"type": "int",
"defaultValue": 100000,
"maxValue": 2147483647,
"minValue": 10,
"metadata": {
"description": "Max stale requests. Required for BoundedStaleness. Valid ranges, Single Region: 10 to 2147483647. Multi Region: 100000 to 2147483647."
}
},
"maxIntervalInSeconds": {
"type": "int",
"defaultValue": 300,
"maxValue": 86400,
"minValue": 5,
"metadata": {
"description": "Max lag time (seconds). Required for BoundedStaleness. Valid ranges, Single Region: 5 to 84600. Multi Region: 300 to 86400."
}
},
"systemManagedFailover": {
"type": "bool",
"defaultValue": true,
"metadata": {
"description": "Enable system managed failover for regions"
}
},
"databaseName": {
"type": "string",
"metadata": {
"description": "The name for the Gremlin database"
}
},
"graphName": {
"type": "string",
"metadata": {
"description": "The name for the Gremlin graph"
}
},
"autoscaleMaxThroughput": {
"type": "int",
"defaultValue": 1000,
"maxValue": 1000000,
"minValue": 1000,
"metadata": {
"description": "Maximum autoscale throughput for the graph"
}
}
},
"variables": {
"consistencyPolicy": {
"Eventual": {
"defaultConsistencyLevel": "Eventual"
},
"ConsistentPrefix": {
"defaultConsistencyLevel": "ConsistentPrefix"
},
"Session": {
"defaultConsistencyLevel": "Session"
},
"BoundedStaleness": {
"defaultConsistencyLevel": "BoundedStaleness",
"maxStalenessPrefix": "[parameters('maxStalenessPrefix')]",
"maxIntervalInSeconds": "[parameters('maxIntervalInSeconds')]"
},
"Strong": {
"defaultConsistencyLevel": "Strong"
}
},
"locations": [
{
"locationName": "[parameters('primaryRegion')]",
"failoverPriority": 0,
"isZoneRedundant": false
},
{
"locationName": "[parameters('secondaryRegion')]",
"failoverPriority": 1,
"isZoneRedundant": false
}
]
},
"resources": [
{
"type": "Microsoft.DocumentDB/databaseAccounts",
"apiVersion": "2022-05-15",
"name": "[toLower(parameters('accountName'))]",
"location": "[parameters('location')]",
"kind": "GlobalDocumentDB",
"properties": {
"capabilities": [
{
"name": "EnableGremlin"
}
],
"consistencyPolicy": "[variables('consistencyPolicy')[parameters('defaultConsistencyLevel')]]",
"locations": "[variables('locations')]",
"databaseAccountOfferType": "Standard",
"enableAutomaticFailover": "[parameters('systemManagedFailover')]"
}
},
{
"type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases",
"apiVersion": "2022-05-15",
"name": "[format('{0}/{1}', toLower(parameters('accountName')), parameters('databaseName'))]",
"properties": {
"resource": {
"id": "[parameters('databaseName')]"
}
},
"dependsOn": [
"[resourceId('Microsoft.DocumentDB/databaseAccounts', toLower(parameters('accountName')))]"
]
},
{
"type": "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/graphs",
"apiVersion": "2022-05-15",
"name": "[format('{0}/{1}', format('{0}/{1}', toLower(parameters('accountName')), parameters('databaseName')), parameters('graphName'))]",
"properties": {
"resource": {
"id": "[parameters('graphName')]",
"indexingPolicy": {
"indexingMode": "consistent",
"includedPaths": [
{
"path": "/*"
}
],
"excludedPaths": [
{
"path": "/myPathToNotIndex/*"
}
]
},
"partitionKey": {
"paths": [
"/myPartitionKey"
],
"kind": "Hash"
}
},
"options": {
"autoscaleSettings": {
"maxThroughput": "[parameters('autoscaleMaxThroughput')]"
}
}
},
"dependsOn": [
"[resourceId('Microsoft.DocumentDB/databaseAccounts/gremlinDatabases', split(format('{0}/{1}', toLower(parameters('accountName')), parameters('databaseName')), '/')[0], split(format('{0}/{1}', toLower(parameters('accountName')), parameters('databaseName')), '/')[1])]"
]
}
]
}
下一步
以下是一些額外資源: