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.
Artikel ini memperlihatkan cara membuat pekerjaan Azure Stream Analytics menggunakan Terraform. Setelah pekerjaan dibuat, Anda akan memvalidasi penyebaran.
Terraform memungkinkan definisi, pratinjau, dan penyebaran infrastruktur cloud. Dengan menggunakan Terraform, Anda membuat file konfigurasi menggunakan sintaks HCL. Sintaksis HCL memungkinkan Anda menentukan penyedia cloud - seperti Azure - dan elemen yang membentuk infrastruktur cloud Anda. Setelah membuat file konfigurasi, Anda membuat rencana eksekusi yang memungkinkan Anda mempratinjau perubahan infrastruktur sebelum disebarkan. Setelah memverifikasi perubahan, Anda menerapkan rencana eksekusi untuk menyebarkan infrastruktur.
Dalam artikel ini, Anda akan mempelajari cara:
- Buat nilai acak untuk nama grup sumber daya Azure menggunakan random_pet.
- Buat grup sumber daya Azure menggunakan azurerm_resource_group.
- Buat nilai acak untuk nama pekerjaan Azure Stream Analytics menggunakan random_pet.
- Buat pekerjaan Azure Stream Analytics menggunakan azurerm_stream_analytics_job.
Prasyarat
Menerapkan kode Terraform
Nota
Kode sampel untuk artikel ini terletak di repositori GitHub Azure Terraform. Anda dapat melihat file log yang berisi hasil pengujian dari terraform versi saat ini dan sebelumnya.
Buat direktori untuk menguji dan menjalankan sampel kode Terraform dan menjadikannya direktori saat ini.
Buat file bernama
providers.tfdan masukkan kode berikut:terraform { required_version = ">=1.0" required_providers { azurerm = { source = "hashicorp/azurerm" version = "~>3.0" } random = { source = "hashicorp/random" version = "~>3.0" } } } provider "azurerm" { features {} }Buat file bernama
main.tfdan masukkan kode berikut: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 }Buat file bernama
variables.tfdan masukkan kode berikut: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." } }Buat file bernama
outputs.tfdan masukkan kode berikut:output "resource_group_name" { value = azurerm_resource_group.rg.name } output "stream_analytics_job_name" { value = azurerm_stream_analytics_job.job.name }
Menginisialisasi Terraform
Jalankan terraform init untuk menginisialisasi penyebaran Terraform. Perintah ini mengunduh penyedia Azure yang diperlukan untuk mengelola sumber daya Azure Anda.
terraform init -upgrade
Poin-poin penting:
- Parameter
-upgrademeningkatkan plugin penyedia yang diperlukan ke versi terbaru yang sesuai dengan batasan versi konfigurasi.
Buat rencana pelaksanaan Terraform
Jalankan terraform plan guna membuat rencana eksekusi.
terraform plan -out main.tfplan
Poin-poin penting:
- Perintah
terraform planmembuat rencana eksekusi, tetapi tidak menjalankannya. Sebaliknya, ini menentukan tindakan apa yang diperlukan untuk membuat konfigurasi yang ditentukan dalam file konfigurasi Anda. Pola ini memungkinkan Anda untuk memverifikasi apakah rencana eksekusi sesuai dengan harapan Anda sebelum membuat perubahan apa pun pada sumber daya aktual. - Parameter
-outopsional memungkinkan Anda menentukan file output untuk rencana. Menggunakan parameter-outmemastikan bahwa rencana yang Anda tinjau benar-benar sesuai dengan yang diterapkan.
Terapkan rencana implementasi Terraform
Jalankan terraform apply untuk menerapkan rencana pelaksanaan ke infrastruktur cloud Anda.
terraform apply main.tfplan
Poin-poin penting:
- Contoh perintah
terraform applymengasumsikan Anda sebelumnya menjalankanterraform plan -out main.tfplan. - Jika Anda menentukan nama file yang berbeda untuk parameter
-out, gunakan nama file yang sama dalam panggilan keterraform apply. - Jika Anda tidak menggunakan parameter
-out, panggilterraform applytanpa parameter apa pun.
Memverifikasi hasilnya
Dapatkan nama grup sumber daya Azure.
resource_group_name=$(terraform output -raw resource_group_name)Dapatkan nama pekerjaan Azure Stream Analytics baru.
stream_analytics_job_name=$(terraform output -raw stream_analytics_job_name)Jalankan az stream-analytics job show untuk menampilkan informasi tentang pekerjaan.
az stream-analytics job show \ --resource-group $resource_group_name \ --job-name $stream_analytics_job_name
Membersihkan sumber daya
Saat Anda tidak lagi memerlukan sumber daya yang dibuat melalui Terraform, lakukan langkah-langkah berikut:
Jalankan terraform plan dan tentukan
destroyflag.terraform plan -destroy -out main.destroy.tfplanPoin-poin penting:
- Perintah
terraform planmembuat rencana eksekusi, tetapi tidak menjalankannya. Sebaliknya, ini menentukan tindakan apa yang diperlukan untuk membuat konfigurasi yang ditentukan dalam file konfigurasi Anda. Pola ini memungkinkan Anda untuk memverifikasi apakah rencana eksekusi sesuai dengan harapan Anda sebelum membuat perubahan apa pun pada sumber daya aktual. - Parameter
-outopsional memungkinkan Anda menentukan file output untuk rencana. Menggunakan parameter-outmemastikan bahwa rencana yang Anda tinjau benar-benar sesuai dengan yang diterapkan.
- Perintah
Jalankan terraform apply untuk menerapkan rencana eksekusi.
terraform apply main.destroy.tfplan
Memecahkan masalah Terraform di Azure
Memecahkan masalah umum saat menggunakan Terraform di Azure