إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
توضح هذه المقالة كيفية إنشاء وظيفة Azure Stream Analytics باستخدام Terraform. بمجرد إنشاء الوظيفة، يمكنك التحقق من صحة النشر.
يتيح Terraform تعريف البنية الأساسية السحابية ومعاينتها ونشرها. باستخدام Terraform، يمكنك إنشاء ملفات التكوين باستخدام بناء جملة HCL. يسمح لك بناء الجملة بلغة HCL بتحديد موفر الخدمة السحابية، مثل خدمة Azure، وتحديد العناصر التي تشكل البنية الأساسية للخدمة السحابية. بعد إنشاء ملفات التكوين الخاصة بك، يمكنك إنشاء خطة تنفيذ تسمح لك بمعاينة تغييرات البنية الأساسية قبل نشرها. بمجرد التحقق من التغييرات، يمكنك تطبيق خطة التنفيذ لنشر البنية الأساسية.
في هذه المقالة، ستتعرف على كيفية:
- إنشاء قيمة عشوائية لاسم مجموعة موارد Azure باستخدام random_pet.
- إنشاء مجموعة موارد Azure باستخدام azurerm_resource_group.
- إنشاء قيمة عشوائية لاسم وظيفة Azure Stream Analytics باستخدام random_pet.
- إنشاء وظيفة Azure Stream Analytics باستخدام azurerm_stream_analytics_job.
المتطلبات الأساسية
تنفيذ كود Terraform
ملاحظة
يوجد نموذج التعليمات البرمجية لهذه المقالة في مستودع Azure Terraform GitHub. يمكنك عرض ملف السجل الذي يحتوي على نتائج الاختبار من الإصدارات الحالية والسابقة من Terraform.
راجع المزيد من المقالات ونماذج التعليمات البرمجية التي توضح كيفية استخدام Terraform لإدارة موارد Azure
إنشاء دليل لاختبار وتشغيل نموذج تعليمة برمجية Terraform وجعله الدليل الحالي.
قم بإنشاء ملف باسم
providers.tfوأدخل التعليمة البرمجية التالية:terraform { required_version = ">=1.0" required_providers { azurerm = { source = "hashicorp/azurerm" version = "~>3.0" } random = { source = "hashicorp/random" version = "~>3.0" } } } provider "azurerm" { features {} }قم بإنشاء ملف باسم
main.tfوأدخل التعليمة البرمجية التالية: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 }قم بإنشاء ملف باسم
variables.tfوأدخل التعليمة البرمجية التالية: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." } }قم بإنشاء ملف باسم
outputs.tfوأدخل التعليمة البرمجية التالية:output "resource_group_name" { value = azurerm_resource_group.rg.name } output "stream_analytics_job_name" { value = azurerm_stream_analytics_job.job.name }
تهيئة Terraform
قم بتشغيل terraform init لتهيئة توزيع Terraform. يقوم هذا الأمر بتنزيل موفر Azure المطلوب لإدارة موارد Azure.
terraform init -upgrade
النقاط الرئيسية:
- تقوم
-upgradeالمعلمة بترقية مكونات الموفر الإضافية الضرورية إلى أحدث إصدار يتوافق مع قيود إصدار التكوين.
إنشاء خطة تنفيذ Terraform
قم بتشغيل خطة terraform لإنشاء خطة تنفيذ.
terraform plan -out main.tfplan
النقاط الرئيسية:
- ينشئ الأمر
terraform planخطة تنفيذ، لكنه لا ينفذها. بدلًا من ذلك، يحدد الإجراءات الضرورية لإنشاء التكوين المحدد في ملفات التكوين الخاصة بك. يسمح لك هذا النمط بالتحقق مما إذا كانت خطة التنفيذ تتطابق مع توقعاتك قبل إجراء أي تغييرات على الموارد الفعلية. - تسمح المعلمة
-outالاختيارية بتحديد ملف الإخراج للخطة. يضمن استخدام-outالمعلمة أن الخطة التي راجعتها هي بالضبط ما يتم تطبيقها.
تطبيق خطة تنفيذ Terraform
قم بتشغيل تطبيق terraform لتطبيق خطة التنفيذ على البنية الأساسية السحابية الخاصة بك.
terraform apply main.tfplan
النقاط الرئيسية:
- يفترض الأمر المثال
terraform applyأنك قمت بتشغيلterraform plan -out main.tfplanمسبقا . - إذا قمت بتحديد اسم ملف مختلف للمعلمة
-out، فاستخدم نفس اسم الملف في الاستدعاءterraform apply. - إذا لم تستخدم المعلمة
-out، استدعterraform applyدون أي معلمات.
تحقق من النتائج
- Azure CLI
- Azure PowerShell
احصل على اسم مجموعة موارد Azure.
resource_group_name=$(terraform output -raw resource_group_name)احصل على اسم وظيفة Azure Stream Analytics الجديد.
stream_analytics_job_name=$(terraform output -raw stream_analytics_job_name)تشغيل az stream-analytics job show لعرض معلومات حول الوظيفة.
az stream-analytics job show \ --resource-group $resource_group_name \ --job-name $stream_analytics_job_name
تنظيف الموارد
عندما لم تعد بحاجة إلى الموارد التي تم إنشاؤها عبر Terraform، قم بالخطوات التالية:
قم بتشغيل خطة terraform وحدد العلامة
destroy.terraform plan -destroy -out main.destroy.tfplanالنقاط الرئيسية:
- ينشئ الأمر
terraform planخطة تنفيذ، لكنه لا ينفذها. بدلًا من ذلك، يحدد الإجراءات الضرورية لإنشاء التكوين المحدد في ملفات التكوين الخاصة بك. يسمح لك هذا النمط بالتحقق مما إذا كانت خطة التنفيذ تتطابق مع توقعاتك قبل إجراء أي تغييرات على الموارد الفعلية. - تسمح المعلمة
-outالاختيارية بتحديد ملف الإخراج للخطة. يضمن استخدام-outالمعلمة أن الخطة التي راجعتها هي بالضبط ما يتم تطبيقها.
- ينشئ الأمر
قم بتشغيل تطبيق terraform لتطبيق خطة التنفيذ.
terraform apply main.destroy.tfplan
استكشاف أخطاء Terraform على Azure وإصلاحها
استكشاف المشاكل الشائعة وإصلاحها عند استخدام Terraform على Azure