أتمتة النشر باستخدام Azure CLI
لم تعد أتمتة قاعدة البيانات مخصصة للمؤسسات الكبيرة فقط؛ بل إنها لم تعد مخصصة فقط للشركات الكبيرة. من الضروري الآن للشركات من جميع الأحجام أن تبقى قادرة على المنافسة. كمسؤول قاعدة بيانات، يعد أتمتة مهام قاعدة البيانات أمرا بالغ الأهمية لعدة أسباب:
- التحكم الدقيق في التطبيقات وقواعد البيانات
- قابلية التوسع السهلة، وتعزيز الكفاءة عند إدارة العديد من الأصول
- إعادة استخدام البرامج النصية لأتمتة المهام الروتينية
- استكشاف الأخطاء وإصلاحها المبسط عندما تكون أدوات واجهة المستخدم الرسومية غير متوفرة
واجهة Command-Line Azure (CLI) هي أداة عبر النظام الأساسي تساعدك على إنشاء موارد Azure وإدارتها. يمكنك تشغيل الأوامر من خلال المحطة الطرفية باستخدام مطالبات أو برامج نصية تفاعلية.
يمكن تثبيت Azure CLI على أجهزة كمبيوتر Linux أو Mac أو Windows. يمكنك أيضا تشغيله من متصفح باستخدام محطة Cloud Shell الطرفية على مدخل Azure أو داخل حاوية Docker.
يتبع بناء جملة Azure CLI النمط reference name - command - parameter - parameter value. على سبيل المثال، التبديل بين الاشتراكات مهمة شائعة. إليك بناء الجملة:
az account set --subscription "my subscription name"
PowerShell مقابل Azure CLI
Azure PowerShell وAzure CLI هما أدوات سطر الأوامر عبر النظام الأساسي التي تسمح لك بإنشاء موارد Azure وإدارتها على Windows وmacOS وLinux. يكمن الفرق الأساسي بينهما في بيئات shell التي يدعمونها.
| بيئة Shell | Azure CLI | Azure Powershell |
|---|---|---|
| Cmd | نعم | |
| Bash | نعم | |
| Windows PowerShell | نعم | نعم |
| PowerShell | نعم | نعم |
لاختيار الأداة المناسبة، ضع في اعتبارك تجربتك وبيئة عملك.
يشبه Azure CLI البرمجة النصية bash، ما يجعله بديهيا لأولئك الذين يعملون عادة مع أنظمة Linux. من ناحية أخرى، يتضمن Azure PowerShell وحدات تساعد في إدارة موارد Azure من PowerShell. تتبع أوامر PowerShell بناء جملة الفعل الاسمي القياسي، ما يجعله مناسبا بشكل طبيعي لأولئك الذين يعرفون أنظمة Windows.
فيما يلي مقارنة سريعة لبعض الأوامر شائعة الاستخدام في كل من نماذج CLI وPowerShell الخاصة بها:
| الأمر | Azure CLI | Azure PowerShell |
|---|---|---|
| تسجيل الدخول باستخدام مستعرض ويب | تسجيل الدخول إلى الألف إلى الياء | Connect-AzAccount |
| الحصول على الاشتراكات المتوفرة | قائمة حسابات az | Get-AzSubscription |
| تعيين الاشتراك | مجموعة حساب az - اشتراك | Set-AzContext -Subscription |
| سرد جميع الأجهزة الظاهرية | قائمة الأجهزة الظاهرية من الألف إلى الياء | Get-AzVM |
| إنشاء خادم SQL جديد | إنشاء خادم az sql | New-AzSqlServer |
نشر قاعدة بيانات SQL باستخدام Azure CLI
فيما يلي مثال على كيفية نشر قاعدة بيانات SQL وإنشاء قاعدة جدار حماية للسماح بالوصول من خدمات Azure باستخدام Azure CLI:
let "randomIdentifier=$RANDOM*$RANDOM"
$resourceGroup = "<your resource group>"
$location = "<your location preference>"
$server = "dp300-sql-server-$randomIdentifier"
$login = "sqladmin"
$password = "Pa$$w0rD-$randomIdentifier"
az sql server create --name $server --resource-group $resourceGroup --location "$location" --admin-user $login --admin-password $password
az sql server firewall-rule create --resource-group $resourceGroup --server $server -n AllowYourIp --start-ip-address 0.0.0.0 --end-ip-address 0.0.0.0
لمعرفة المزيد حول جميع أوامر Azure SQL CLI المتوفرة، راجع أوامر Azure SQL CLI.
نشر قالب Azure Resource Manager (ARM) باستخدام Azure CLI وPowerShell
باستخدام PowerShell، لديك خيارات متعددة لنطاق النشر الخاص بك. يمكنك النشر إلى مجموعة موارد أو اشتراك أو مجموعة إدارة، وهي مجموعة من الاشتراكات ضمن نفس قالب Azure وتستخدم عادة في عمليات نشر المؤسسات الكبيرة أو المستأجر. يتم تحديد معلمات قوالب Azure Resource Manager، مما يتطلب منك تمرير المعلمات إما مضمنة أو من خلال ملف معلمة، كما هو موضح في المثال التالي.
New-AzResourceGroupDeployment -Name ExampleDeployment -ResourceGroupName ExampleResourceGroup `
-TemplateFile c:\MyTemplates\azuredeploy.json `
-TemplateParameterFile c:\MyTemplates\storage.parameters.json
يمكن تخزين ملفات المعلمات والقالب في مستودع Git أو Azure Blob Storage أو أي موقع آخر يمكن الوصول إليه من جهاز النشر.
يقدم Azure CLI نفس خيارات نطاق النشر مثل PowerShell. يمكنك استخدام ملفات وقوالب المعلمات المحلية أو البعيدة، تماما كما تفعل مع PowerShell، كما هو موضح في المثال التالي.
az deployment group create --resource-group ExampleResourceGroup --template-file '\path\template.json'
لنشر قوالب مرتبطة بعيدة ذات مسار نسبي مخزنة في حساب تخزين، استخدم سلسلة الاستعلام لتحديد رمز SAS المميز:
az deployment group create \
--name linkedTemplateWithRelativePath \
--resource-group myResourceGroup \
--template-uri "https://stage20210126.blob.core.windows.net/template-staging/mainTemplate.json" \
--query-string $sasToken
إشعار
حاليا، لا يدعم Azure CLI نشر ملفات Bicep البعيدة مباشرة. بدلا من ذلك، يمكنك استخدام Bicep CLI لتحويل ملف Bicep إلى قالب JSON، ثم نشر قالب JSON من موقع بعيد.