Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure Cosmos DB adalah database NoSQL cepat Microsoft dengan API terbuka untuk skala apa pun. Anda dapat menggunakan Azure Cosmos DB untuk membuat dan mengueri database kunci/nilai, dokumen, dan grafik dengan cepat. Tanpa kartu kredit atau langganan Azure, Anda dapat menyiapkan Coba akun Azure Cosmos DB gratis. Mulai cepat ini berfokus pada proses penyebaran melalui Terraform untuk membuat database Azure Cosmos dan kontainer dalam database tersebut. Anda nantinya dapat menyimpan data dalam kontainer ini.
Prerequisites
Langganan Azure atau akun uji coba Azure Cosmos DB gratis
- Jika Anda tidak memiliki akun Azure, buat akun gratis sebelum memulai.
Terraform harus diinstal pada komputer lokal Anda. Instruksi penginstalan dapat ditemukan di sini.
Meninjau File Terraform
File Terraform yang digunakan dalam mulai cepat ini dapat ditemukan di repositori sampel terraform. Buat tiga file di bawah ini: providers.tf, main.tf, dan variables.tf. Variabel dapat diatur dalam baris perintah atau sebagai alternatif dengan file terraforms.tfvars.
Parameter Kunci Terraform
Tabel berikut merangkum variabel utama yang digunakan dalam panduan memulai cepat ini, meliputi cakupan, batasan, dan contoh nilainya.
| Parameter | Scope | Deskripsi dan batasan | Contoh nilai |
|---|---|---|---|
prefix |
Penamaan | Awalan yang digunakan untuk semua nama sumber daya. Harus huruf kecil, alfanumerik, dan unik per langganan. | cosmosdemo |
location |
grup Sumber Daya | Wilayah Azure untuk grup sumber daya. Lokasi ini hanya berlaku untuk grup sumber daya, bukan akun Cosmos DB. | eastus |
cosmosdb_account_location |
Akun Cosmos DB | Wilayah Azure untuk akun Azure Cosmos DB. Ini dapat berbeda dari lokasi grup sumber daya. | eastus |
throughput |
Database (RU/s) | Throughput yang disediakan untuk database SQL dalam satuan permintaan per detik (RU/s). Harus antara 400 dan 1.000.000 RU/dtk. | 400 |
File Terraform Penyedia
terraform {
required_version = ">= 1.0"
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = ">= 3.0, < 4.0"
}
random = {
source = "hashicorp/random"
version = ">= 3.0"
}
}
}
provider "azurerm" {
features {
resource_group {
prevent_deletion_if_contains_resources = false
}
}
}
File Terraform Utama
resource "azurerm_resource_group" "example" {
name = "${random_pet.prefix.id}-rg"
location = var.location
}
resource "azurerm_cosmosdb_account" "example" {
name = "${random_pet.prefix.id}-cosmosdb"
location = var.cosmosdb_account_location
resource_group_name = azurerm_resource_group.example.name
offer_type = "Standard"
kind = "GlobalDocumentDB"
enable_automatic_failover = false
geo_location {
location = var.location
failover_priority = 0
}
consistency_policy {
consistency_level = "BoundedStaleness"
max_interval_in_seconds = 300
max_staleness_prefix = 100000
}
depends_on = [
azurerm_resource_group.example
]
}
resource "azurerm_cosmosdb_sql_database" "main" {
name = "${random_pet.prefix.id}-sqldb"
resource_group_name = azurerm_resource_group.example.name
account_name = azurerm_cosmosdb_account.example.name
throughput = var.throughput
}
resource "azurerm_cosmosdb_sql_container" "example" {
name = "${random_pet.prefix.id}-sql-container"
resource_group_name = azurerm_resource_group.example.name
account_name = azurerm_cosmosdb_account.example.name
database_name = azurerm_cosmosdb_sql_database.main.name
partition_key_path = "/definition/id"
partition_key_version = 1
throughput = var.throughput
indexing_policy {
indexing_mode = "consistent"
included_path {
path = "/*"
}
included_path {
path = "/included/?"
}
excluded_path {
path = "/excluded/?"
}
}
unique_key {
paths = ["/definition/idlong", "/definition/idshort"]
}
}
resource "random_pet" "prefix" {
prefix = var.prefix
length = 1
}
Tiga sumber daya Cosmos DB didefinisikan dalam file terraform utama.
Microsoft.DocumentDB/databaseAccounts: Buat akun Azure Cosmos.
Microsoft.DocumentDB/databaseAccounts/sqlDatabases: Membuat database Azure Cosmos dengan throughput pada tingkat database (RU/s).
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers: Buat kontainer Azure Cosmos.
File Terraform Variabel
variable "prefix" {
type = string
default = "cosmosdb-manualscale"
description = "Prefix of the resource name"
}
variable "location" {
type = string
default = "Canada Central"
description = "Resource group location"
}
variable "cosmosdb_account_location" {
type = string
default = "Canada Central"
description = "Cosmos db account location"
}
variable "throughput" {
type = number
default = 400
description = "Cosmos db database throughput"
validation {
condition = var.throughput >= 400 && var.throughput <= 1000000
error_message = "Cosmos db manual throughput should be equal to or greater than 400 and less than or equal to 1000000."
}
validation {
condition = var.throughput % 100 == 0
error_message = "Cosmos db throughput should be in increments of 100."
}
}
Menerapkan melalui Terraform
- Simpan file terraform sebagai main.tf, variables.tf, dan providers.tf ke komputer lokal Anda.
- Masuk ke terminal Anda melalui Azure CLI atau PowerShell
- Menyebarkan melalui perintah Terraform
- terraform init
Hasil yang diharapkan: Terraform berhasil menginisialisasi dan mengunduh penyedia azurerm. - rencana terraform
Hasil yang diharapkan: Keluaran rencana menunjukkan 3 untuk ditambahkan, 0 untuk diubah, 0 untuk dihancurkan. - terraform terapkan
Hasil yang diharapkan: Output akhir termasuk Terapkan selesai! Sumber daya: 3 ditambahkan, 0 diubah, 0 dihancurkan.
- terraform init
Validasikan penggelaran
Gunakan portal Azure, Azure CLI, atau Azure PowerShell untuk mencantumkan sumber daya yang disebarkan dalam grup sumber daya.
az resource list --resource-group "your resource group name"
Hasil yang diharapkan: Output mencantumkan Microsoft.DocumentDB/databaseAccounts sumber daya bersama dengan database dan kontainernya.
Membersihkan sumber daya
Jika Anda berencana untuk terus bekerja dengan panduan memulai cepat dan tutorial berikutnya, Anda mungkin ingin membiarkan sumber daya ini tetap ada. Jika tidak lagi diperlukan, gunakan portal Azure, Azure CLI, atau Azure PowerShell untuk menghapus grup sumber daya dan sumber dayanya.
az group delete --name "your resource group name"
Hasil yang diharapkan: Azure CLI mengonfirmasi penghapusan grup sumber daya dan tidak lagi mencantumkannya dalam langganan.
Langkah berikutnya
Dalam mulai cepat ini, Anda membuat akun Azure Cosmos, database, dan kontainer melalui terraform dan memvalidasi penyebaran. Untuk mempelajari selengkapnya tentang Azure Cosmos DB dan Terraform, lanjutkan ke artikel di bawah ini.
- Baca Gambaran Umum Azure Cosmos DB.
- Pelajari selengkapnya tentang Terraform.
- Pelajari selengkapnya tentang Penyedia Azure Terraform.
- Mengelola Cosmos DB dengan Terraform
- Mencoba melakukan perencanaan kapasitas untuk migrasi ke Azure Cosmos DB? Anda dapat menggunakan informasi tentang kluster database Anda yang ada saat ini untuk membuat perencanaan kapasitas.
- Jika Anda hanya mengetahui jumlah vCore dan server di kluster database yang ada, bacalah mengenai memperkirakan unit permintaan menggunakan vCore atau vCPU.
- Jika Anda mengetahui tingkat permintaan umum untuk beban kerja database Anda saat ini, baca tentang memperkirakan unit permintaan menggunakan perencana kapasitas Azure Cosmos DB.