Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure Cosmos DB ist die schnelle NoSQL-Datenbank von Microsoft mit offenen APIs für jede Größenordnung. Mit Azure Cosmos DB können Sie schnell Schlüssel/Wert-, Dokument- und Graphdatenbanken erstellen und abfragen. Sie können ein kostenloses Azure Cosmos DB-Testkonto einrichten, ohne eine Kreditkarte oder ein Azure-Abonnement zu benötigen. In diesem Schnellstart wird in erster Linie die Bereitstellung einer Azure Resource Manager-Vorlage (ARM-Vorlage) zum Erstellen einer Azure Cosmos DB-Datenbank und eines Containers in dieser Datenbank erörtert. In diesem Container können später Daten gespeichert werden.
Eine Azure Resource Manager-Vorlage ist eine JSON (JavaScript Object Notation)-Datei, welche die Infrastruktur und die Konfiguration für Ihr Projekt definiert. Die Vorlage verwendet eine deklarative Syntax. Sie beschreiben Ihre geplante Bereitstellung, ohne die Abfolge der Programmierbefehle zu schreiben, mit denen die Bereitstellung erstellt wird.
Wenn Ihre Umgebung die Voraussetzungen erfüllt und Sie mit der Verwendung von ARM-Vorlagen vertraut sind, wählen Sie die Schaltfläche Deploy to Azure aus. Die Vorlage wird im Azure-Portal geöffnet.
Prerequisites
Azure-Abonnement oder kostenloses Azure Cosmos DB-Testkonto
-
Wenn Sie nicht über ein Azure-Konto verfügen, erstellen Sie ein kostenloses Konto , bevor Sie beginnen.
-
Sie können ein kostenloses Azure Cosmos DB-Konto mit den ersten 1000 RU/s und 25 GB Speicherplatz erstellen. Sie können auch den Azure Cosmos DB-Emulator mit dem URI
https://localhost:8081verwenden. Informationen zur Verwendung des Schlüssels mit dem Emulator finden Sie unter Authentifizieren von Anfragen.
Überprüfen der Vorlage
Die in dieser Schnellstartanleitung verwendete Vorlage stammt von der Seite mit den Azure-Schnellstartvorlagen.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.26.54.24096",
"templateHash": "7578513359154607542"
}
},
"parameters": {
"accountName": {
"type": "string",
"defaultValue": "[format('sql-{0}', uniqueString(resourceGroup().id))]",
"metadata": {
"description": "Azure Cosmos DB account name, max length 44 characters"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for the Azure Cosmos DB account."
}
},
"primaryRegion": {
"type": "string",
"metadata": {
"description": "The primary region for the Azure Cosmos DB account."
}
},
"secondaryRegion": {
"type": "string",
"metadata": {
"description": "The secondary region for the Azure 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,
"minValue": 10,
"maxValue": 2147483647,
"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,
"minValue": 5,
"maxValue": 86400,
"metadata": {
"description": "Max lag time (minutes). Required for BoundedStaleness. Valid ranges, Single Region: 5 to 84600. Multi Region: 300 to 86400."
}
},
"systemManagedFailover": {
"type": "bool",
"defaultValue": true,
"allowedValues": [
true,
false
],
"metadata": {
"description": "Enable system managed failover for regions"
}
},
"databaseName": {
"type": "string",
"defaultValue": "myDatabase",
"metadata": {
"description": "The name for the database"
}
},
"containerName": {
"type": "string",
"defaultValue": "myContainer",
"metadata": {
"description": "The name for the container"
}
},
"throughput": {
"type": "int",
"defaultValue": 400,
"minValue": 400,
"maxValue": 1000000,
"metadata": {
"description": "The throughput for the container"
}
}
},
"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": "2024-02-15-preview",
"name": "[toLower(parameters('accountName'))]",
"location": "[parameters('location')]",
"kind": "GlobalDocumentDB",
"properties": {
"consistencyPolicy": "[variables('consistencyPolicy')[parameters('defaultConsistencyLevel')]]",
"locations": "[variables('locations')]",
"databaseAccountOfferType": "Standard",
"enableAutomaticFailover": "[parameters('systemManagedFailover')]",
"disableKeyBasedMetadataWriteAccess": true
}
},
{
"type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases",
"apiVersion": "2024-02-15-preview",
"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/sqlDatabases/containers",
"apiVersion": "2024-02-15-preview",
"name": "[format('{0}/{1}/{2}', toLower(parameters('accountName')), parameters('databaseName'), parameters('containerName'))]",
"properties": {
"resource": {
"id": "[parameters('containerName')]",
"partitionKey": {
"paths": [
"/myPartitionKey"
],
"kind": "Hash"
},
"indexingPolicy": {
"indexingMode": "consistent",
"includedPaths": [
{
"path": "/*"
}
],
"excludedPaths": [
{
"path": "/myPathToNotIndex/*"
},
{
"path": "/_etag/?"
}
],
"compositeIndexes": [
[
{
"path": "/name",
"order": "ascending"
},
{
"path": "/age",
"order": "descending"
}
]
],
"spatialIndexes": [
{
"path": "/location/*",
"types": [
"Point",
"Polygon",
"MultiPolygon",
"LineString"
]
}
]
},
"defaultTtl": 86400,
"uniqueKeyPolicy": {
"uniqueKeys": [
{
"paths": [
"/phoneNumber"
]
}
]
}
},
"options": {
"throughput": "[parameters('throughput')]"
}
},
"dependsOn": [
"[resourceId('Microsoft.DocumentDB/databaseAccounts/sqlDatabases', toLower(parameters('accountName')), parameters('databaseName'))]"
]
}
],
"outputs": {
"location": {
"type": "string",
"value": "[parameters('location')]"
},
"name": {
"type": "string",
"value": "[parameters('databaseName')]"
},
"resourceGroupName": {
"type": "string",
"value": "[resourceGroup().name]"
},
"resourceId": {
"type": "string",
"value": "[resourceId('Microsoft.DocumentDB/databaseAccounts/sqlDatabases', toLower(parameters('accountName')), parameters('databaseName'))]"
}
}
}
In der Vorlage sind drei Azure-Ressourcen definiert:
Microsoft.DocumentDB/databaseAccounts: Zum Erstellen eines Azure Cosmos DB-Kontos.
Microsoft.DocumentDB/databaseAccounts/sqlDatabases: Zum Erstellen einer Azure Cosmos DB-Datenbank.
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers: Zum Erstellen eines Azure Cosmos DB-Containers.
Important
Der Azure Resource Manager-Anbieter Microsoft.DocumentDB/databaseAccounts hat seit vielen Jahren den gleichen Namen. Dadurch wird sichergestellt, dass vor Jahren erstellte Vorlagen auch dann noch mit demselben Anbieter kompatibel sind, wenn sich der Name des Services und der Unterservices geändert hat.
Weitere Azure Cosmos DB-Vorlagenbeispiele finden Sie im Schnellstart-Vorlagenkatalog.
Implementieren der Vorlage
Klicken Sie auf das folgende Bild, um sich bei Azure anzumelden und eine Vorlage zu öffnen. Die Vorlage erstellt ein Azure Cosmos DB-Konto, eine Datenbank und einen Container.
Wählen Sie die folgenden Werte aus, bzw. geben Sie sie ein.
Sofern nicht anders angegeben, verwenden Sie die Standardwerte, um die Azure Cosmos DB-Ressourcen zu erstellen.
- Abonnement: Wählen Sie ein Azure-Abonnement aus.
- Ressourcengruppe: Wählen Sie die Option Neu erstellen aus, geben Sie einen eindeutigen Namen für die Ressourcengruppe ein, und klicken Sie dann auf OK.
- Standort: Wählen Sie einen Standort aus. Beispiel: USA, Mitte.
- Kontoname: Geben Sie einen Namen für das Azure Cosmos DB-Konto ein. Der Wert muss global eindeutig sein.
- Standort: Geben Sie den Standort ein, an dem Sie Ihr Azure Cosmos DB-Konto erstellen möchten. Das Azure Cosmos DB-Konto kann sich am gleichen Standort befinden wie die Ressourcengruppe.
- Primäre Region: Die Region mit dem primären Replikat für das Azure Cosmos DB-Konto.
- Sekundäre Region: Die Region mit dem sekundären Replikat für das Azure Cosmos DB-Konto.
- Standardkonsistenzebene: Die Standardkonsistenzebene des Azure Cosmos DB-Kontos.
- Präfix für max. Veraltung: Maximal veraltete Anforderungen. Für BoundedStaleness erforderlich.
- Max. Intervall in Sekunden: Maximale Verzögerungszeit. Für BoundedStaleness erforderlich.
- Datenbankname: Der Name der Azure Cosmos DB-Datenbank.
- Containername: Der Name des Azure Cosmos DB-Containers.
- Durchsatz: Der Durchsatz für den Container, wobei der Mindestwert 400 RU/Sekunde lautet.
- Ich stimme den oben genannten Geschäftsbedingungen zu: Aktivieren Sie dieses Kontrollkästchen.
Wählen Sie die Option Kaufen. Nach erfolgreicher Bereitstellung des Azure Cosmos DB-Kontos erhalten Sie eine Benachrichtigung:
Zum Bereitstellen der Vorlage wird das Azure-Portal verwendet. Zusätzlich zum Azure-Portal können Sie auch die Azure PowerShell-, Azure CLI- und REST-API verwenden. Informationen zu anderen Bereitstellungsmethoden finden Sie unter Bereitstellen von Vorlagen.
Validierung der Bereitstellung
Zur Überprüfung des Azure Cosmos DB-Kontos, der Datenbank und des Containers können Sie entweder das Azure-Portal verwenden oder mithilfe des im Anschluss bereitgestellten Skripts für die Azure-Befehlszeilenschnittstelle bzw. für Azure PowerShell das erstellte Geheimnis auflisten.
echo "Enter your Azure Cosmos DB account name:" &&
read cosmosAccountName &&
echo "Enter the resource group where the Azure Cosmos DB account exists:" &&
read resourcegroupName &&
az cosmosdb show -g $resourcegroupName -n $cosmosAccountName
Bereinigen von Ressourcen
Falls Sie mit weiteren Schnellstartanleitungen und Tutorials fortfahren möchten, sollten Sie die Ressourcen nicht bereinigen. Wenn Sie die Ressourcen nicht mehr benötigen, löschen Sie die Ressourcengruppe. Dadurch werden das Azure Cosmos DB-Konto und die zugehörigen Ressourcen gelöscht. So löschen Sie die Ressourcengruppe mithilfe von Azure CLI oder Azure PowerShell:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Nächste Schritte
In diesem Schnellstart haben Sie mithilfe einer ARM-Vorlage ein Azure Cosmos DB-Konto, eine Datenbank und einen Container erstellt und die Bereitstellung überprüft. Weitere Informationen zu Azure Cosmos DB und Azure Resource Manager finden Sie in den folgenden Artikeln:
- Lesen Sie eine Übersicht über Azure Cosmos DB
- Lesen Sie weitere Informationen zu Azure Resource Manager.
- Azure Cosmos DB Resource Manager-Vorlagen
- Versuchen Sie, die Kapazitätsplanung für eine Migration zu Azure Cosmos DB durchzuführen? Sie können Informationen zu Ihrem vorhandenen Datenbankcluster für die Kapazitätsplanung verwenden.
- Wenn Sie nur die Anzahl der virtuellen Kerne und Server in Ihrem vorhandenen Datenbankcluster kennen, lesen Sie die Informationen zum Schätzen von Anforderungseinheiten mithilfe von virtuellen Kernen oder virtuellen CPUs
- Wenn Sie typische Anforderungsraten für Ihren aktuellen Datenbankworkload kennen, lesen Sie über die Schätzung von Anforderungseinheiten mithilfe des Azure Cosmos DB Kapazitätsplaners.