Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Usługa Azure Cosmos DB to szybka baza danych NoSQL firmy Microsoft z otwartymi interfejsami API dla dowolnej skali. Usługa Azure Cosmos DB umożliwia szybkie tworzenie baz danych kluczy/wartości, baz danych dokumentów i grafów oraz wykonywanie zapytań względem nich. Bez karty kredytowej lub subskrypcji platformy Azure możesz skonfigurować bezpłatne konto Wypróbuj usługę Azure Cosmos DB. Ten przewodnik Szybki start koncentruje się na procesie wdrażania szablonu usługi Azure Resource Manager (szablonu usługi ARM) w celu utworzenia bazy danych usługi Azure Cosmos DB i kontenera w tej bazie danych. Później można przechowywać dane w tym kontenerze.
Szablon usługi Azure Resource Manager to plik JavaScript Object Notation (JSON), który definiuje infrastrukturę i konfigurację projektu. Szablon używa składni deklaratywnej. Możesz opisać zamierzone wdrożenie bez konieczności pisania sekwencji poleceń programowania w celu utworzenia wdrożenia.
Jeśli środowisko spełnia wymagania i znasz szablony ARM, wybierz przycisk Wdróż na platformie Azure. Szablon zostanie otwarty w witrynie Azure Portal.
Wymagania wstępne
Subskrypcja platformy Azure lub bezpłatne konto wersji próbnej usługi Azure Cosmos DB
-
Jeśli nie masz jeszcze konta platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
-
Możesz utworzyć konto warstwy Bezpłatna usługi Azure Cosmos DB z pierwszymi 1000 RU/s i 25 GB miejsca do magazynowania bezpłatnie. Możesz również użyć emulatora usługi Azure Cosmos DB z identyfikatorem URI
https://localhost:8081. Aby uzyskać klucz do użycia z emulatorem, zobacz Uwierzytelnianie żądań.
Przegląd szablonu
Szablon użyty w tym szybkim starcie pochodzi z szablonów szybkiego startu platformy Azure.
{
"$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'))]"
}
}
}
Trzy zasoby platformy Azure są zdefiniowane w szablonie:
Microsoft.DocumentDB/databaseAccounts: tworzenie konta usługi Azure Cosmos DB.
Microsoft.DocumentDB/databaseAccounts/sqlDatabases: tworzenie bazy danych usługi Azure Cosmos DB.
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers: Tworzenie kontenera usługi Azure Cosmos DB.
Ważne
Dostawca usługi Azure Resource Manager, Microsoft.DocumentDB/databaseAccounts, utrzymuje tę samą nazwę od wielu lat. Dzięki temu szablony napisane wiele lat temu są nadal zgodne z tym samym dostawcą, nawet gdy nazwa usługi i usługi podrzędne ewoluowały.
Więcej przykładów szablonów usługi Azure Cosmos DB można znaleźć w galerii szablonów Quickstart.
Wdrażanie szablonu
Wybierz poniższy obraz, aby zalogować się na platformie Azure i otworzyć szablon. Szablon tworzy konto usługi Azure Cosmos DB, bazę danych i kontener.
Wybierz lub wprowadź następujące wartości.
Jeśli nie zostanie określony, użyj wartości domyślnych, aby utworzyć zasoby usługi Azure Cosmos DB.
- Subskrypcja: wybierz subskrypcję platformy Azure.
- Grupa zasobów: wybierz pozycję Utwórz nową, wprowadź unikatową nazwę grupy zasobów, a następnie kliknij przycisk OK.
- Lokalizacja: wybierz lokalizację. Na przykład Środkowe stany USA.
- Nazwa konta: wprowadź nazwę konta usługi Azure Cosmos DB. Musi być globalnie unikatowa.
- Lokalizacja: wprowadź lokalizację, w której chcesz utworzyć konto usługi Azure Cosmos DB. Konto usługi Azure Cosmos DB może znajdować się w tej samej lokalizacji co grupa zasobów.
- Region podstawowy: podstawowy region repliki dla konta usługi Azure Cosmos DB.
- Region pomocniczy: region repliki pomocniczej dla konta usługi Azure Cosmos DB.
- Domyślny poziom spójności: domyślny poziom spójności dla konta usługi Azure Cosmos DB.
- Maksymalny prefiks nieaktualności: Maksymalna nieaktualna liczba żądań. Wymagane dla BoundedStaleness.
- Maksymalny interwał w sekundach: maksymalny czas opóźnienia. Wymagane dla BoundedStaleness.
- Nazwa bazy danych: nazwa bazy danych usługi Azure Cosmos DB.
- Nazwa kontenera: nazwa kontenera usługi Azure Cosmos DB.
- Przepływność: przepływność kontenera, minimalna wartość przepływności to 400 RU/s.
- Wyrażam zgodę na powyższe warunki i postanowienia: zaznacz.
Wybierz pozycję Kup. Po pomyślnym wdrożeniu konta usługi Azure Cosmos DB otrzymasz powiadomienie:
Szablon jest wdrażany za pomocą witryny Azure Portal. Oprócz witryny Azure Portal możesz również użyć programu Azure PowerShell, interfejsu wiersza polecenia platformy Azure i interfejsu API REST. Aby dowiedzieć się więcej o innych metodach wdrażania, zobacz Wdrażanie szablonów.
Weryfikowanie wdrożenia
Możesz użyć portalu Azure, aby sprawdzić konto usługi Azure Cosmos DB, bazę danych i kontener, albo użyć następującego skryptu Azure CLI lub Azure PowerShell, aby wyświetlić listę utworzonych sekretów.
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
Uprzątnij zasoby
Jeśli planujesz kontynuować pracę z kolejnymi szybkimi wprowadzeniami i samouczkami, możesz pozostawić te zasoby tak jak są. Gdy grupa zasobów nie będzie już potrzebna, usuń grupę zasobów, która usuwa konto usługi Azure Cosmos DB i powiązane zasoby. Aby usunąć grupę zasobów przy użyciu interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Dalsze kroki
W tym szybkim starcie utworzyłeś konto Azure Cosmos DB, bazę danych oraz kontener, używając szablonu ARM, i sprawdziliśmy wdrożenie. Aby dowiedzieć się więcej na temat usług Azure Cosmos DB i Azure Resource Manager, przejdź do poniższych artykułów.
- Przeczytaj omówienie usługi Azure Cosmos DB
- Dowiedz się więcej o usłudze Azure Resource Manager
- Pobierz inne szablony usługi Azure Cosmos DB Resource Manager
- Próbujesz zaplanować zasoby na potrzeby migracji do usługi Azure Cosmos DB? Informacje o istniejącym klastrze bazy danych można użyć do planowania pojemności.
- Jeśli wiesz, ile rdzeni wirtualnych i serwerów znajduje się w istniejącym klastrze bazy danych, przeczytaj o szacowaniu jednostek żądań przy użyciu rdzeni wirtualnych lub procesorów wirtualnych
- Jeśli znasz typowe stawki żądań dla bieżącego obciążenia bazy danych, przeczytaj o szacowaniu jednostek żądań przy użyciu planisty pojemności usługi Azure Cosmos DB