Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Viktigt!
Letar du efter en databaslösning för storskaliga scenarier med ett serviceavtal på 99,999% tillgänglighetsnivå (SLA), snabb autoskalning och automatisk redundans i flera regioner? Överväg Azure Cosmos DB för NoSQL.
Vill du implementera ett OLAP-diagram (Online Analytical Processing) eller migrera ett befintligt Apache Gremlin-program? Överväg Graph i Microsoft Fabric.
I den här artikeln får du lära dig hur du använder Azure Resource Manager-mallar för att distribuera och hantera dina Azure Cosmos DB-konton, databaser och diagram.
Den här artikeln innehåller endast exempel för API för Gremlin-konton, för att hitta exempel för andra API-typkonton se: använda Azure Resource Manager-mallar med Azure Cosmos DB:s API för Cassandra, NoSQL, MongoDB, Tabellartiklar .
Viktigt!
- Kontonamn är begränsade till 44 tecken, alla gemener.
- Om du vill ändra dataflödesvärdena distribuerar du om mallen med uppdaterade RU/s.
- När du lägger till eller tar bort platser till ett Azure Cosmos DB-konto kan du inte ändra andra egenskaper samtidigt. Dessa åtgärder måste utföras separat.
Om du vill skapa någon av Azure Cosmos DB-resurserna nedan kopierar du följande exempelmall till en ny json-fil. Du kan också skapa en json-parameterfil som ska användas när du distribuerar flera instanser av samma resurs med olika namn och värden. Det finns många sätt att distribuera Azure Resource Manager-mallar, till exempel Azure Portal, Azure CLI, Azure PowerShell och GitHub.
Azure Cosmos DB-konto för Gremlin med autoskalningsetablerade dataflöden
Den här mallen skapar ett Azure Cosmos DB-konto för API för Gremlin med en databas och graf med autoskalningsdataflöde. Den här mallen är också tillgänglig för distribution med ett klick från azure-galleriet för snabbstartsmallar.
{
"$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])]"
]
}
]
}