Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek ukazuje, jak vytvořit úlohu Azure Stream Analytics pomocí Terraformu. Po vytvoření úlohy ověříte nasazení.
Terraform umožňuje definici, náhled a nasazení cloudové infrastruktury. Pomocí Terraformu vytvoříte konfigurační soubory pomocí syntaxe HCL. Syntaxe seznamu HCL umožňuje zadat poskytovatele cloudu , například Azure, a prvky, které tvoří vaši cloudovou infrastrukturu. Po vytvoření konfiguračních souborů vytvoříte plán provádění , který vám umožní zobrazit náhled změn infrastruktury před jejich nasazením. Jakmile ověříte změny, použijete plán provádění k nasazení infrastruktury.
V tomto článku se naučíte:
- Vytvořte náhodnou hodnotu pro název skupiny prostředků Azure pomocí random_pet.
- Vytvořte skupinu prostředků Azure pomocí azurerm_resource_group.
- Vytvořte náhodnou hodnotu pro název úlohy Azure Stream Analytics pomocí random_pet.
- Vytvořte úlohu Azure Stream Analytics pomocí azurerm_stream_analytics_job.
Požadavky
Implementace kódu Terraformu
Poznámka:
Vzorový kód pro tento článek se nachází v úložišti GitHubu Azure Terraformu. Můžete zobrazit soubor protokolu obsahující výsledky testu z aktuálních a předchozích verzí Terraformu.
Další články a ukázkový kód ukazující použití Terraformu ke správě prostředků Azure
Vytvořte adresář, ve kterém chcete otestovat a spustit ukázkový kód Terraformu a nastavit ho jako aktuální adresář.
Vytvořte soubor s názvem
providers.tfa vložte následující kód:terraform { required_version = ">=1.0" required_providers { azurerm = { source = "hashicorp/azurerm" version = "~>3.0" } random = { source = "hashicorp/random" version = "~>3.0" } } } provider "azurerm" { features {} }Vytvořte soubor s názvem
main.tfa vložte následující kód:resource "random_pet" "rg_name" { prefix = "rg" } resource "azurerm_resource_group" "rg" { name = random_pet.rg_name.id location = var.resource_group_location } resource "random_pet" "stream_analytics_job_name" { prefix = "job" } resource "azurerm_stream_analytics_job" "job" { name = random_pet.stream_analytics_job_name.id resource_group_name = azurerm_resource_group.rg.name location = azurerm_resource_group.rg.location streaming_units = var.number_of_streaming_units events_out_of_order_max_delay_in_seconds = 0 events_late_arrival_max_delay_in_seconds = 5 data_locale = "en-US" events_out_of_order_policy = "Adjust" output_error_policy = "Stop" transformation_query = <<QUERY SELECT * INTO [YourOutputAlias] FROM [YourInputAlias] QUERY }Vytvořte soubor s názvem
variables.tfa vložte následující kód:variable "resource_group_location" { type = string description = "Location for the resources." default = "eastus" } variable "number_of_streaming_units" { type = number description = "Number of streaming units." default = 1 validation { condition = contains([1, 3, 6, 12, 18, 24, 30, 36, 42, 48], var.number_of_streaming_units) error_message = "Invalid value for: number_of_streaming_units. The value should be one of the following: 1, 3, 6, 12, 18, 24, 30, 36, 42, 48." } }Vytvořte soubor s názvem
outputs.tfa vložte následující kód:output "resource_group_name" { value = azurerm_resource_group.rg.name } output "stream_analytics_job_name" { value = azurerm_stream_analytics_job.job.name }
Inicializujte Terraform
Spusťte terraform init pro inicializaci nasazení Terraformu. Tento příkaz stáhne poskytovatele Azure potřebného ke správě prostředků Azure.
terraform init -upgrade
klíčové body:
- Parametr
-upgradeaktualizuje potřebné pluginy poskytovatele na nejnovější verzi, která odpovídá verzním omezením konfigurace.
Vytvoření plánu provádění Terraformu
Spusťte terraform plan pro vytvoření plánu provádění.
terraform plan -out main.tfplan
klíčové body:
- Příkaz
terraform planvytvoří plán provádění, ale nespustí ho. Místo toho určuje, jaké akce jsou nezbytné k vytvoření konfigurace zadané v konfiguračních souborech. Tento model umožňuje ověřit, jestli plán provádění odpovídá vašim očekáváním, než provede jakékoli změny skutečných prostředků. - Volitelný
-outparametr umožňuje zadat výstupní soubor pro plán. Použití parametru-outzajišťuje, že vámi zkontrolovaný plán je přesně tím, co bude aplikován.
Implementujte plán Terraformu
Proveďte příkaz terraform apply pro aplikaci plánu provádění na vaši cloudovou infrastrukturu.
terraform apply main.tfplan
klíčové body:
-
terraform applyUkázkový příkaz předpokládá, že jste dříve spustiliterraform plan -out main.tfplan. - Pokud jste pro
-outparametr zadali jiný název souboru, použijte stejný název souboru při voláníterraform apply. - Pokud jste parametr nepoužíli
-out, zavolejteterraform applybez parametrů.
Ověření výsledků
Získejte název skupiny prostředků Azure.
resource_group_name=$(terraform output -raw resource_group_name)Získejte nový název úlohy Azure Stream Analytics.
stream_analytics_job_name=$(terraform output -raw stream_analytics_job_name)Spusťte az stream-analytics job show pro zobrazení informací o úloze.
az stream-analytics job show \ --resource-group $resource_group_name \ --job-name $stream_analytics_job_name
Vyčistěte zdroje
Pokud už prostředky vytvořené přes Terraform nepotřebujete, proveďte následující kroky:
Spusťte terraform plan a specifikujte příznak
destroy.terraform plan -destroy -out main.destroy.tfplanklíčové body:
- Příkaz
terraform planvytvoří plán provádění, ale nespustí ho. Místo toho určuje, jaké akce jsou nezbytné k vytvoření konfigurace zadané v konfiguračních souborech. Tento model umožňuje ověřit, jestli plán provádění odpovídá vašim očekáváním, než provede jakékoli změny skutečných prostředků. - Volitelný
-outparametr umožňuje zadat výstupní soubor pro plán. Použití parametru-outzajišťuje, že vámi zkontrolovaný plán je přesně tím, co bude aplikován.
- Příkaz
Spusťte terraform apply pro provedení prováděcího plánu.
terraform apply main.destroy.tfplan
Řešení potíží s Terraformem v Azure
Řešení běžných problémů při používání Terraformu v Azure