<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Azd | The .NET Blog</title><link>https://thedotnetblog.com/ar/tags/azd/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>ar</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Thu, 23 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/ar/tags/azd/index.xml" rel="self" type="application/rss+xml"/><item><title>كتابة Hooks في azd بـ Python وTypeScript و.NET: وداعًا لسكريبتات Shell</title><link>https://thedotnetblog.com/ar/posts/emiliano-montesdeoca/azd-hooks-python-javascript-typescript-dotnet/</link><pubDate>Thu, 23 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ar/posts/emiliano-montesdeoca/azd-hooks-python-javascript-typescript-dotnet/</guid><description>تدعم Azure Developer CLI الآن كتابة hooks بـ Python وJavaScript وTypeScript و.NET. لا مزيد من التبديل إلى Bash من أجل سكريبت migration واحد.</description><content:encoded>&lt;p&gt;&lt;em&gt;تمت ترجمة هذا المنشور تلقائيًا. للاطلاع على النسخة الأصلية، &lt;a href="https://thedotnetblog.com/ar/posts/emiliano-montesdeoca/azd-hooks-python-javascript-typescript-dotnet/"&gt;انقر هنا&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;إن كنت قد امتلكت مشروعًا بالكامل بـ .NET واضطررت رغم ذلك إلى كتابة سكريبتات Bash لـ hooks في azd، فأنت تعرف هذا الألم. لماذا التبديل إلى صياخة shell في خطوة pre-provisioning بينما كل شيء آخر في المشروع مكتوب بـ C#؟&lt;/p&gt;
&lt;p&gt;هذا الإحباط لديه الآن حل رسمي. أطلقت Azure Developer CLI &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-multi-language-hooks/"&gt;دعم متعدد اللغات لـ hooks&lt;/a&gt;، وهو بالضبط بقدر ما يبدو جيدًا.&lt;/p&gt;
&lt;h2 id="ما-هي-الـ-hooks"&gt;ما هي الـ Hooks&lt;/h2&gt;
&lt;p&gt;الـ Hooks هي سكريبتات تعمل في نقاط حيوية من دورة حياة &lt;code&gt;azd&lt;/code&gt; — قبل provisioning، وبعد deployment، والمزيد. تُعرَّف في &lt;code&gt;azure.yaml&lt;/code&gt; وتتيح حقن منطق مخصص دون تعديل الـ CLI.&lt;/p&gt;
&lt;p&gt;في السابق، دُعم فقط Bash وPowerShell. الآن يمكن استخدام &lt;strong&gt;Python أو JavaScript أو TypeScript أو .NET&lt;/strong&gt; — ويتولى &lt;code&gt;azd&lt;/code&gt; الباقي تلقائيًا.&lt;/p&gt;
&lt;h2 id="كيف-يعمل-الاستدلال"&gt;كيف يعمل الاستدلال&lt;/h2&gt;
&lt;p&gt;ما عليك سوى الإشارة إلى ملف وسيستنتج &lt;code&gt;azd&lt;/code&gt; اللغة من الامتداد:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;hooks&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;preprovision&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;./hooks/setup.py&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;postdeploy&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;./hooks/seed.ts&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;postprovision&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;./hooks/migrate.cs&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;لا إعداد إضافي. إذا كان الامتداد غامضًا، يمكنك إضافة &lt;code&gt;kind: python&lt;/code&gt; (أو اللغة المناسبة) صراحةً.&lt;/p&gt;
&lt;h2 id="تفاصيل-مهمة-حسب-اللغة"&gt;تفاصيل مهمة حسب اللغة&lt;/h2&gt;
&lt;h3 id="python"&gt;Python&lt;/h3&gt;
&lt;p&gt;ضع &lt;code&gt;requirements.txt&lt;/code&gt; أو &lt;code&gt;pyproject.toml&lt;/code&gt; بجانب السكريبت (أو في أي دليل أعلى). سينشئ &lt;code&gt;azd&lt;/code&gt; بيئة افتراضية تلقائيًا، ويثبت التبعيات، ويشغل السكريبت.&lt;/p&gt;
&lt;h3 id="javascript-وtypescript"&gt;JavaScript وTypeScript&lt;/h3&gt;
&lt;p&gt;نفس النمط — ضع &lt;code&gt;package.json&lt;/code&gt; بالقرب من السكريبت وسيشغل &lt;code&gt;azd&lt;/code&gt; أولاً &lt;code&gt;npm install&lt;/code&gt;. بالنسبة لـ TypeScript يستخدم &lt;code&gt;npx tsx&lt;/code&gt; دون خطوة تجميع ودون &lt;code&gt;tsconfig.json&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id="net"&gt;.NET&lt;/h3&gt;
&lt;p&gt;وضعان متاحان:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;وضع المشروع&lt;/strong&gt;: إذا كان هناك &lt;code&gt;.csproj&lt;/code&gt; بجانب السكريبت، سيشغل &lt;code&gt;azd&lt;/code&gt; تلقائيًا &lt;code&gt;dotnet restore&lt;/code&gt; و&lt;code&gt;dotnet build&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;وضع الملف الواحد&lt;/strong&gt;: في .NET 10+ يمكن تشغيل ملفات &lt;code&gt;.cs&lt;/code&gt; المستقلة مباشرةً عبر &lt;code&gt;dotnet run script.cs&lt;/code&gt;. لا حاجة لملف مشروع.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="إعداد-خاص-بكل-منفذ"&gt;إعداد خاص بكل منفذ&lt;/h2&gt;
&lt;p&gt;تدعم كل لغة كتلة &lt;code&gt;config&lt;/code&gt; اختيارية:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;hooks&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;preprovision&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;./hooks/setup.ts&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;packageManager&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;pnpm&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;postprovision&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;./hooks/migrate.cs&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;config&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;configuration&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Release&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;framework&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;net10.0&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="لماذا-يهم-هذا-لمطوري-net"&gt;لماذا يهم هذا لمطوري .NET&lt;/h2&gt;
&lt;p&gt;كانت الـ hooks آخر مكان في مشروع قائم على azd يجبر على تغيير اللغة. الآن يمكن لكامل pipeline النشر — من كود التطبيق إلى lifecycle hooks — أن يعيش في لغة واحدة. يمكنك إعادة استخدام أدوات .NET الموجودة في hooks، والإشارة إلى مكتبات مشتركة، والتخلص من صيانة سكريبتات shell.&lt;/p&gt;
&lt;h2 id="خلاصة"&gt;خلاصة&lt;/h2&gt;
&lt;p&gt;أحد تلك التغييرات التي تبدو صغيرة لكنها تزيل الكثير من الاحتكاك اليومي مع azd. دعم متعدد اللغات لـ hooks متاح الآن — تحقق من &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-multi-language-hooks/"&gt;المنشور الرسمي&lt;/a&gt; للحصول على التوثيق الكامل.&lt;/p&gt;</content:encoded></item><item><title>azd + GitHub Copilot: إعداد المشروع بالذكاء الاصطناعي وحل الأخطاء بذكاء</title><link>https://thedotnetblog.com/ar/posts/emiliano-montesdeoca/azd-copilot-integration-ai-setup-troubleshooting/</link><pubDate>Tue, 21 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ar/posts/emiliano-montesdeoca/azd-copilot-integration-ai-setup-troubleshooting/</guid><description>يتكامل Azure Developer CLI الآن مع GitHub Copilot لإنشاء بنية المشروع التحتية وحل أخطاء النشر — دون مغادرة الطرفية.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;تُرجِمت هذه المقالة تلقائيًا. للاطلاع على النسخة الأصلية بالإنجليزية، &lt;a href="https://thedotnetblog.com/ar/posts/emiliano-montesdeoca/azd-copilot-integration-ai-setup-troubleshooting/"&gt;انقر هنا&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;هل تعرف تلك اللحظة التي تريد فيها نشر تطبيق موجود على Azure فتجد نفسك تحدق في ملف &lt;code&gt;azure.yaml&lt;/code&gt; فارغ، محاولًا تذكر ما إذا كان Express API الخاص بك يجب أن يستخدم Container Apps أم App Service؟ تلك اللحظة أصبحت الآن أقصر بكثير.&lt;/p&gt;
&lt;p&gt;يتكامل Azure Developer CLI (&lt;code&gt;azd&lt;/code&gt;) الآن مع GitHub Copilot بطريقتين عمليتين: سقالة المشروع بمساعدة الذكاء الاصطناعي خلال &lt;code&gt;azd init&lt;/code&gt;، واستكشاف الأخطاء وإصلاحها بذكاء عند فشل عمليات النشر. كلا الميزتين تعملان بالكامل داخل الطرفية.&lt;/p&gt;
&lt;h2 id="الإعداد-مع-copilot-أثناء-azd-init"&gt;الإعداد مع Copilot أثناء azd init&lt;/h2&gt;
&lt;p&gt;عند تشغيل &lt;code&gt;azd init&lt;/code&gt;، يظهر الآن خيار &amp;ldquo;Set up with GitHub Copilot (Preview)&amp;rdquo;. اختره وسيحلل Copilot قاعدة التعليمات البرمجية الخاصة بك لإنشاء &lt;code&gt;azure.yaml&lt;/code&gt; وقوالب البنية التحتية ووحدات Bicep — بناءً على الكود الفعلي.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;azd init
# اختر: &amp;#34;Set up with GitHub Copilot (Preview)&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;المتطلبات:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;azd 1.23.11 أو أحدث&lt;/strong&gt; — تحقق بـ &lt;code&gt;azd version&lt;/code&gt; أو حدّث بـ &lt;code&gt;azd update&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;اشتراك نشط في GitHub Copilot&lt;/strong&gt; (فردي أو للأعمال أو للمؤسسات)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub CLI (&lt;code&gt;gh&lt;/code&gt;)&lt;/strong&gt; — سيطلب &lt;code&gt;azd&lt;/code&gt; تسجيل الدخول إذا لزم الأمر&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ما أجده مفيدًا حقًا: يعمل في الاتجاهين. تبني من الصفر؟ يساعدك Copilot على تهيئة خدمات Azure الصحيحة من البداية. لديك تطبيق موجود تريد نشره؟ وجّه Copilot إليه وسيُنشئ التهيئة دون الحاجة إلى إعادة هيكلة أي شيء.&lt;/p&gt;
&lt;h3 id="ما-الذي-يفعله-فعليا"&gt;ما الذي يفعله فعليًا&lt;/h3&gt;
&lt;p&gt;لنفترض أن لديك Node.js Express API يعتمد على PostgreSQL. بدلًا من اتخاذ قرار يدوي بين Container Apps وApp Service ثم كتابة Bicep من الصفر، يكتشف Copilot تقنياتك ويُنشئ:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;azure.yaml&lt;/code&gt; بالإعدادات الصحيحة لـ &lt;code&gt;language&lt;/code&gt; و&lt;code&gt;host&lt;/code&gt; و&lt;code&gt;build&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;وحدة Bicep لـ Azure Container Apps&lt;/li&gt;
&lt;li&gt;وحدة Bicep لـ Azure Database for PostgreSQL&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ويُجري فحوصات مسبقة قبل تغيير أي شيء — يتحقق من نظافة دليل git، ويطلب موافقتك على أدوات خادم MCP مسبقًا. لا شيء يحدث دون علمك بما سيتغير بالضبط.&lt;/p&gt;
&lt;h2 id="استكشاف-الأخطاء-وإصلاحها-مع-copilot"&gt;استكشاف الأخطاء وإصلاحها مع Copilot&lt;/h2&gt;
&lt;p&gt;أخطاء النشر لا مفر منها. معاملات مفقودة، مشكلات في الأذونات، توفر SKU — ونادرًا ما تخبرك رسالة الخطأ بالشيء الوحيد الذي تحتاج معرفته فعلًا: &lt;em&gt;كيف تُصلحه&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;بدون Copilot، الحلقة تبدو هكذا: انسخ الخطأ ← ابحث في المستندات ← اقرأ ثلاث إجابات Stack Overflow غير ذات صلة ← شغّل بعض أوامر &lt;code&gt;az&lt;/code&gt; CLI ← أعد المحاولة وتمنَّ. مع Copilot في &lt;code&gt;azd&lt;/code&gt;، تنهار هذه الحلقة. عند فشل أي أمر &lt;code&gt;azd&lt;/code&gt;، يعرض فورًا أربعة خيارات:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Explain&lt;/strong&gt; — شرح بلغة مبسطة لما حدث&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Guidance&lt;/strong&gt; — تعليمات خطوة بخطوة لإصلاح المشكلة&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Diagnose and Guide&lt;/strong&gt; — تحليل كامل + يطبق Copilot الإصلاح (بموافقتك) + إعادة محاولة اختيارية&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Skip&lt;/strong&gt; — التعامل معه بنفسك&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;النقطة الرئيسية: لدى Copilot بالفعل سياق مشروعك والأمر الفاشل وتفاصيل الخطأ. اقتراحاته خاصة بـ &lt;em&gt;وضعك&lt;/em&gt;.&lt;/p&gt;
&lt;h3 id="ضبط-السلوك-الافتراضي"&gt;ضبط السلوك الافتراضي&lt;/h3&gt;
&lt;p&gt;إذا كنت دائمًا تختار نفس الخيار، تجاوز الموجه التفاعلي:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;azd config set copilot.errorHandling.category troubleshoot
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;القيم: &lt;code&gt;explain&lt;/code&gt; و&lt;code&gt;guidance&lt;/code&gt; و&lt;code&gt;troubleshoot&lt;/code&gt; و&lt;code&gt;fix&lt;/code&gt; و&lt;code&gt;skip&lt;/code&gt;. يمكنك أيضًا تمكين الإصلاح التلقائي وإعادة المحاولة:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;azd config set copilot.errorHandling.fix allow
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;العودة إلى الوضع التفاعلي في أي وقت:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;azd config unset copilot.errorHandling.category
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="خاتمة"&gt;خاتمة&lt;/h2&gt;
&lt;p&gt;شغّل &lt;code&gt;azd update&lt;/code&gt; للحصول على أحدث إصدار وجرّب &lt;code&gt;azd init&lt;/code&gt; في مشروعك القادم.&lt;/p&gt;
&lt;p&gt;اقرأ &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-copilot-integration/"&gt;الإعلان الأصلي هنا&lt;/a&gt;.&lt;/p&gt;</content:encoded></item><item><title>azd update — أمر واحد يتحكّم في جميع مديري الحزم</title><link>https://thedotnetblog.com/ar/posts/emiliano-montesdeoca/azd-update-universal-upgrade-command/</link><pubDate>Wed, 15 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ar/posts/emiliano-montesdeoca/azd-update-universal-upgrade-command/</guid><description>يمتلك Azure Developer CLI الآن أمر تحديث عالمياً يعمل بصرف النظر عن طريقة التثبيت — winget أو Homebrew أو Chocolatey أو سكريبت التثبيت.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;تمت ترجمة هذا المقال تلقائياً. للنسخة الأصلية، &lt;a href="https://thedotnetblog.com/ar/posts/emiliano-montesdeoca/azd-update-universal-upgrade-command/"&gt;انقر هنا&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;هل تعرف رسالة &amp;ldquo;إصدار جديد من azd متاح&amp;rdquo; التي تظهر كل أسابيع قليلة؟ تلك التي تتجاهلها لأنك لا تتذكر إن كنت قد ثبّتت &lt;code&gt;azd&lt;/code&gt; عبر winget أو Homebrew أو ذلك السكريبت curl الذي شغّلته قبل ستة أشهر؟ نعم، تمّ حلّ هذا الأمر أخيراً.&lt;/p&gt;
&lt;p&gt;شحنت Microsoft للتو &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-update/"&gt;&lt;code&gt;azd update&lt;/code&gt;&lt;/a&gt; — أمر واحد يُحدّث Azure Developer CLI إلى أحدث إصدار بصرف النظر عن طريقة تثبيتك الأصلية. Windows، macOS، Linux — لا يهم. أمر واحد.&lt;/p&gt;
&lt;h2 id="كيف-يعمل"&gt;كيف يعمل&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd update
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;هذا كل شيء. إن أردت الوصول المبكر إلى الميزات الجديدة، يمكنك التبديل إلى بناء الـ insiders اليومي:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd update --channel daily
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd update --channel stable
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;يكتشف الأمر طريقة التثبيت الحالية لديك ويستخدم آلية التحديث المناسبة داخلياً. لا مزيد من &amp;ldquo;انتظر، هل استخدمت winget أم choco على هذا الجهاز؟&amp;rdquo;.&lt;/p&gt;
&lt;h2 id="التحفظ-الصغير"&gt;التحفّظ الصغير&lt;/h2&gt;
&lt;p&gt;يأتي &lt;code&gt;azd update&lt;/code&gt; ابتداءً من الإصدار 1.23.x. إن كنت على إصدار أقدم، ستحتاج إلى إجراء تحديث يدوي أخير باستخدام طريقة تثبيتك الأصلية. بعد ذلك، &lt;code&gt;azd update&lt;/code&gt; يتولى كل شيء من الآن فصاعداً.&lt;/p&gt;
&lt;p&gt;تحقق من إصدارك الحالي بـ &lt;code&gt;azd version&lt;/code&gt;. إن احتجت تثبيتاً جديداً، &lt;a href="https://learn.microsoft.com/azure/developer/azure-developer-cli/install-azd"&gt;وثائق التثبيت&lt;/a&gt; ستُرشدك.&lt;/p&gt;
&lt;h2 id="لماذا-هذا-مهم"&gt;لماذا هذا مهم&lt;/h2&gt;
&lt;p&gt;هذا تحسين صغير لجودة الحياة، لكن بالنسبة لأولئك منّا الذين يستخدمون &lt;code&gt;azd&lt;/code&gt; يومياً لنشر وكلاء الذكاء الاصطناعي وتطبيقات Aspire إلى Azure، البقاء محدّثاً يعني حالات أقل من &amp;ldquo;هذه الخطأ تمّ إصلاحها بالفعل في الإصدار الأخير&amp;rdquo;. شيء واحد أقل يجب التفكير فيه.&lt;/p&gt;
&lt;p&gt;اقرأ &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-update/"&gt;الإعلان الكامل&lt;/a&gt; والغوص العميق لـ Jon Gallant &lt;a href="https://blog.jongallant.com/2026/04/azd-update"&gt;هنا&lt;/a&gt; لمزيد من السياق.&lt;/p&gt;</content:encoded></item><item><title>azd يتيح الآن تشغيل وكلاء الذكاء الاصطناعي وتصحيح أخطائها محلياً — إليك ما تغيّر في مارس 2026</title><link>https://thedotnetblog.com/ar/posts/emiliano-montesdeoca/azd-march-2026-local-ai-agent-debugging/</link><pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ar/posts/emiliano-montesdeoca/azd-march-2026-local-ai-agent-debugging/</guid><description>شحنت واجهة Azure Developer CLI سبعة إصدارات في مارس 2026. أبرزها: حلقة تشغيل وتصحيح محلية لوكلاء الذكاء الاصطناعي، وتكامل GitHub Copilot في إعداد المشاريع، ودعم Container App Jobs.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;تمت ترجمة هذا المقال تلقائياً. للنسخة الأصلية، &lt;a href="https://thedotnetblog.com/ar/posts/emiliano-montesdeoca/azd-march-2026-local-ai-agent-debugging/"&gt;انقر هنا&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;سبعة إصدارات في شهر واحد. هذا ما دفعه فريق Azure Developer CLI (&lt;code&gt;azd&lt;/code&gt;) في مارس 2026، والميزة الرئيسية هي التي كنت أنتظرها: &lt;strong&gt;حلقة تشغيل وتصحيح محلية لوكلاء الذكاء الاصطناعي&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;نشر PC Chan &lt;a href="https://devblogs.microsoft.com/azure-sdk/azure-developer-cli-azd-march-2026/"&gt;الملخص الكامل&lt;/a&gt;، ومع أن المحتوى غزير، دعني أُصفّيه إلى ما يهم فعلاً مطوّري .NET الذين يبنون تطبيقات مدعومة بالذكاء الاصطناعي.&lt;/p&gt;
&lt;h2 id="تشغيل-وكلاء-الذكاء-الاصطناعي-وتصحيح-أخطائها-دون-نشر"&gt;تشغيل وكلاء الذكاء الاصطناعي وتصحيح أخطائها دون نشر&lt;/h2&gt;
&lt;p&gt;هذه هي الكبرى. تُضيف إضافة &lt;code&gt;azure.ai.agents&lt;/code&gt; الجديدة مجموعة من الأوامر التي توفّر لك تجربة حلقة داخلية حقيقية لوكلاء الذكاء الاصطناعي:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;azd ai agent run&lt;/code&gt; — يُشغّل وكيلك محلياً&lt;/li&gt;
&lt;li&gt;&lt;code&gt;azd ai agent invoke&lt;/code&gt; — يُرسل رسائل إليه (محلياً أو بعد النشر)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;azd ai agent show&lt;/code&gt; — يعرض حالة الحاوية وسلامتها&lt;/li&gt;
&lt;li&gt;&lt;code&gt;azd ai agent monitor&lt;/code&gt; — يبثّ سجلات الحاوية في الوقت الفعلي&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;قبل هذا، كان اختبار وكيل ذكاء اصطناعي يعني النشر إلى Microsoft Foundry في كل مرة تُجري فيها تغييراً. الآن يمكنك التكرار محلياً، واختبار سلوك وكيلك، والنشر فقط حين تكون مستعداً. إن كنت تبني وكلاء باستخدام Microsoft Agent Framework أو Semantic Kernel، فهذا يُغيّر سير عملك اليومي.&lt;/p&gt;
&lt;p&gt;يعمل أمر invoke مقابل الوكلاء المحليين والمنشورين على حدٍّ سواء، مما يعني أنك تستطيع استخدام سير عمل الاختبار ذاته بصرف النظر عن مكان تشغيل الوكيل. هذا هو النوع من التفاصيل التي تُوفّر عليك الحاجة إلى صيانة مجموعتين من نصوص الاختبار.&lt;/p&gt;
&lt;h2 id="github-copilot-ينشئ-السقالات-لمشروع-azd-الخاص-بك"&gt;GitHub Copilot يُنشئ السقالات لمشروع azd الخاص بك&lt;/h2&gt;
&lt;p&gt;بات &lt;code&gt;azd init&lt;/code&gt; يُقدّم خياراً &amp;ldquo;إعداد مع GitHub Copilot (معاينة)&amp;rdquo;. بدلاً من الإجابة يدوياً على الأسئلة حول بنية مشروعك، يُهيّئ وكيل Copilot الإعداد نيابةً عنك. يتحقق من وجود دليل عمل غير نظيف قبل تعديل أي شيء، ويطلب موافقة على أدوات خادم MCP مسبقاً.&lt;/p&gt;
&lt;p&gt;حين يفشل أمر ما، يُقدّم &lt;code&gt;azd&lt;/code&gt; الآن استكشاف أخطاء بمساعدة الذكاء الاصطناعي: اختر فئة (شرح، توجيه، استكشاف أخطاء، أو تخطّي)، ودع الوكيل يقترح حلاً، ثم أعد المحاولة — كل ذلك دون مغادرة الطرفية. لإعدادات البنية التحتية المعقدة، هذا توفير حقيقي للوقت.&lt;/p&gt;
&lt;h2 id="container-app-jobs-وتحسينات-النشر"&gt;Container App Jobs وتحسينات النشر&lt;/h2&gt;
&lt;p&gt;بعض ميزات النشر الجديرة بالإشارة:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Container App Jobs&lt;/strong&gt;: يُنشر &lt;code&gt;azd&lt;/code&gt; الآن &lt;code&gt;Microsoft.App/jobs&lt;/code&gt; من خلال إعداد &lt;code&gt;host: containerapp&lt;/code&gt; الموجود. يُحدّد قالب Bicep الخاص بك ما إذا كان الهدف Container App أم Job — لا إعداد إضافي.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;مهل نشر قابلة للتهيئة&lt;/strong&gt;: خيار &lt;code&gt;--timeout&lt;/code&gt; الجديد في &lt;code&gt;azd deploy&lt;/code&gt; وحقل &lt;code&gt;deployTimeout&lt;/code&gt; في &lt;code&gt;azure.yaml&lt;/code&gt;. لا مزيد من التخمين حول الحد الافتراضي البالغ 1200 ثانية.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;احتياطي البناء المحلي&lt;/strong&gt;: حين يفشل البناء عن بُعد في ACR، ينتقل &lt;code&gt;azd&lt;/code&gt; تلقائياً إلى البناء المحلي باستخدام Docker/Podman.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;التحقق المحلي المسبق للنشر&lt;/strong&gt;: يتم التحقق من معاملات Bicep محلياً قبل النشر، مما يكتشف المعاملات المفقودة دون رحلة ذهاب وإياب إلى Azure.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="تحسينات-تجربة-المطور"&gt;تحسينات تجربة المطوّر&lt;/h2&gt;
&lt;p&gt;بعض التحسينات الأصغر التي تتراكم لتُحدث فارقاً:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;الكشف التلقائي عن pnpm/yarn&lt;/strong&gt; لمشاريع JS/TS&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;دعم pyproject.toml&lt;/strong&gt; لتعبئة Python&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;أدلة قوالب محلية&lt;/strong&gt; — يقبل &lt;code&gt;azd init --template&lt;/code&gt; الآن مسارات نظام الملفات للتكرار دون اتصال&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;رسائل خطأ أفضل&lt;/strong&gt; في وضع &lt;code&gt;--no-prompt&lt;/code&gt; — تُبلَّغ جميع القيم المفقودة دفعة واحدة مع أوامر الحل&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;متغيرات بيئة البناء&lt;/strong&gt; مُحقونة في جميع العمليات الفرعية لبناء الأطر (.NET، Node.js، Java، Python)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;هذه الأخيرة دقيقة لكنها مهمة: بناء .NET الخاص بك لديه الآن وصول إلى متغيرات بيئة &lt;code&gt;azd&lt;/code&gt;، مما يعني أنك تستطيع إجراء حقن إعداد وقت البناء دون نصوص إضافية.&lt;/p&gt;
&lt;h2 id="خلاصة-القول"&gt;خلاصة القول&lt;/h2&gt;
&lt;p&gt;حلقة تصحيح أخطاء وكيل الذكاء الاصطناعي المحلية هي نجمة هذا الإصدار، لكن تراكم تحسينات النشر وصقل تجربة المطوّر يجعل &lt;code&gt;azd&lt;/code&gt; يبدو أكثر نضجاً من أي وقت مضى. إن كنت تنشر تطبيقات .NET إلى Azure — خاصةً وكلاء الذكاء الاصطناعي — فهذا التحديث يستحق التثبيت.&lt;/p&gt;
&lt;p&gt;تحقق من &lt;a href="https://devblogs.microsoft.com/azure-sdk/azure-developer-cli-azd-march-2026/"&gt;ملاحظات الإصدار الكاملة&lt;/a&gt; لكل التفاصيل، أو ابدأ بـ &lt;a href="https://learn.microsoft.com/azure/developer/azure-developer-cli/install-azd"&gt;تثبيت azd&lt;/a&gt;.&lt;/p&gt;</content:encoded></item><item><title>من الحاسوب المحمول إلى الإنتاج: نشر وكلاء الذكاء الاصطناعي إلى Microsoft Foundry بأمرين</title><link>https://thedotnetblog.com/ar/posts/emiliano-montesdeoca/deploy-ai-agents-foundry-azd-two-commands/</link><pubDate>Thu, 26 Mar 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ar/posts/emiliano-montesdeoca/deploy-ai-agents-foundry-azd-two-commands/</guid><description>Azure Developer CLI يمتلك الآن أوامر 'azd ai agent' التي تأخذ وكيل الذكاء الاصطناعي الخاص بك من التطوير المحلي إلى نقطة نهاية Foundry حية في دقائق. إليك سير العمل الكامل.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;تمت ترجمة هذا المقال تلقائياً. للنسخة الأصلية، &lt;a href="https://thedotnetblog.com/ar/posts/emiliano-montesdeoca/deploy-ai-agents-foundry-azd-two-commands/"&gt;انقر هنا&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;تعرف تلك الهوّة بين &amp;ldquo;يعمل على جهازي&amp;rdquo; و&amp;quot;منشور ويخدم حركة المرور&amp;quot;؟ بالنسبة لوكلاء الذكاء الاصطناعي، كانت تلك الهوّة واسعة بشكل مؤلم. تحتاج إلى توفير الموارد، ونشر النماذج، وربط الهوية، وإعداد المراقبة — وهذا قبل أن يتمكن أي شخص من استدعاء وكيلك فعليًا.&lt;/p&gt;
&lt;p&gt;Azure Developer CLI جعل للتو هذا &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-ai-agent-end-to-end/"&gt;أمرًا من خطوتين&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="سير-عمل-azd-ai-agent-الجديد"&gt;سير عمل &lt;code&gt;azd ai agent&lt;/code&gt; الجديد&lt;/h2&gt;
&lt;p&gt;دعني أستعرض كيف يبدو هذا فعليًا. لديك مشروع وكيل ذكاء اصطناعي — لنقل وكيل كونسيرج فندقي. يعمل محليًا. تريده يعمل على Microsoft Foundry.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd ai agent init
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd up
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;هذا كل شيء. أمران اثنان. &lt;code&gt;azd ai agent init&lt;/code&gt; يُنشئ كود البنية التحتية في مستودعك، و&lt;code&gt;azd up&lt;/code&gt; يُوفِّر كل شيء على Azure وينشر وكيلك. تحصل على رابط مباشر لوكيلك في بوابة Foundry.&lt;/p&gt;
&lt;h2 id="ما-يحدث-تحت-الغطاء"&gt;ما يحدث تحت الغطاء&lt;/h2&gt;
&lt;p&gt;يُولِّد أمر &lt;code&gt;init&lt;/code&gt; قوالب Bicep حقيقية قابلة للفحص في مستودعك:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Foundry Resource&lt;/strong&gt; (الحاوية ذات المستوى الأعلى)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Foundry Project&lt;/strong&gt; (حيث يعيش وكيلك)&lt;/li&gt;
&lt;li&gt;تكوين &lt;strong&gt;نشر النموذج&lt;/strong&gt; (GPT-4o، إلخ.)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Managed identity&lt;/strong&gt; مع تعيينات أدوار RBAC المناسبة&lt;/li&gt;
&lt;li&gt;&lt;code&gt;azure.yaml&lt;/code&gt; لخريطة الخدمة&lt;/li&gt;
&lt;li&gt;&lt;code&gt;agent.yaml&lt;/code&gt; مع بيانات الوكيل الوصفية ومتغيرات البيئة&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;إليك الجزء المهم: أنت تملك كل هذا. إنه Bicep موثَّق في مستودعك. يمكنك فحصه وتخصيصه وإيداعه جنبًا إلى جنب مع كود وكيلك. لا صناديق سحرية مبهمة.&lt;/p&gt;
&lt;h2 id="حلقة-التطوير-الداخلية"&gt;حلقة التطوير الداخلية&lt;/h2&gt;
&lt;p&gt;ما يعجبني حقًا هو قصة التطوير المحلي. حين تكرر على منطق الوكيل، لا تريد إعادة النشر في كل مرة تغيّر فيها مطالبة:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd ai agent run
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;يُشغّل هذا وكيلك محليًا. اقرنه مع &lt;code&gt;azd ai agent invoke&lt;/code&gt; لإرسال مطالبات اختبارية، وستحصل على حلقة تغذية راجعة محكمة. عدّل الكود، أعد التشغيل، استدعِ، كرّر.&lt;/p&gt;
&lt;p&gt;أمر &lt;code&gt;invoke&lt;/code&gt; ذكي في التوجيه أيضًا — عندما يعمل وكيل محلي، يستهدفه تلقائيًا. وعندما لا يعمل، يضرب نقطة النهاية البعيدة.&lt;/p&gt;
&lt;h2 id="المراقبة-في-الوقت-الفعلي"&gt;المراقبة في الوقت الفعلي&lt;/h2&gt;
&lt;p&gt;هذه هي الميزة التي أقنعتني. بمجرد نشر وكيلك:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;azd ai agent monitor --follow
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;كل طلب واستجابة يتدفقان عبر وكيلك يتدفقان إلى طرفيتك في الوقت الفعلي. لتصحيح مشكلات الإنتاج، هذا لا يُقدَّر بثمن. لا حاجة للبحث في log analytics، ولا انتظار لتجميع المقاييس — ترى ما يحدث الآن.&lt;/p&gt;
&lt;h2 id="مجموعة-الأوامر-الكاملة"&gt;مجموعة الأوامر الكاملة&lt;/h2&gt;
&lt;p&gt;إليك المرجع السريع:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;الأمر&lt;/th&gt;
&lt;th&gt;ما يفعله&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;azd ai agent init&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;إنشاء مشروع وكيل Foundry مع كود البنية التحتية&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;azd up&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;توفير موارد Azure ونشر الوكيل&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;azd ai agent invoke&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;إرسال مطالبات إلى الوكيل البعيد أو المحلي&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;azd ai agent run&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;تشغيل الوكيل محليًا للتطوير&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;azd ai agent monitor&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;بث السجلات في الوقت الفعلي من الوكيل المنشور&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;azd ai agent show&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;التحقق من صحة الوكيل وحالته&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;azd down&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;تنظيف جميع موارد Azure&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="لماذا-يهم-هذا-مطوري-net"&gt;لماذا يهم هذا مطوري .NET&lt;/h2&gt;
&lt;p&gt;على الرغم من أن المثال في الإعلان مبني على Python، فإن قصة البنية التحتية مستقلة عن اللغة. وكيل .NET الخاص بك يحصل على نفس سقالة Bicep، ونفس إعداد managed identity، ونفس خط المراقبة. وإذا كنت تستخدم بالفعل &lt;code&gt;azd&lt;/code&gt; لتطبيقات .NET Aspire أو عمليات نشر Azure، فهذا يندرج بسلاسة في سير عملك الحالي.&lt;/p&gt;
&lt;p&gt;لقد كانت هوّة النشر لوكلاء الذكاء الاصطناعي إحدى أكبر نقاط الاحتكاك في المنظومة. الانتقال من نموذج أولي يعمل إلى نقطة نهاية إنتاجية مع هوية وشبكة ومراقبة مناسبة لا ينبغي أن يستغرق أسبوعًا من عمل DevOps. الآن يستغرق أمرين وبضع دقائق.&lt;/p&gt;
&lt;h2 id="خلاصة"&gt;خلاصة&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;azd ai agent&lt;/code&gt; متاح الآن. إذا كنت تُؤجل نشر وكلاء الذكاء الاصطناعي الخاصة بك لأن إعداد البنية التحتية بدا يستلزم جهدًا كبيرًا، جرّب هذا. اطّلع على &lt;a href="https://devblogs.microsoft.com/azure-sdk/azd-ai-agent-end-to-end/"&gt;الشرح التفصيلي الكامل&lt;/a&gt; للخطوات الكاملة بما في ذلك تكامل تطبيق الدردشة الأمامي.&lt;/p&gt;</content:encoded></item></channel></rss>