إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
يتيح لك مفسر كود SRE Agent تنفيذ أوامر كود بايثون وأوامر shell في بيئة صندوق رمل آمنة ومعزولة. استخدم Code Interpreter لتحليل البيانات، وإنشاء التصورات، وإنشاء تقارير PDF، وأتمتة عمليات الملفات دون الخروج من محادثة وكيل SRE الخاصة بك.
في هذه المقالة، ستتعرف على كيفية:
- تنفيذ كود بايثون لتحليل البيانات وإنشاء تصورات
- تشغيل أوامر shell لعمليات الملفات
- إنشاء وتنزيل تقارير PDF
- العمل مع الملفات في بيئة صندوق الرمل
المتطلبات الأساسية
لإنشاء وكيل، تحتاج إلى منح وكيلك الأذونات الصحيحة، وتكوين الإعدادات الصحيحة، ومنح حق الوصول إلى الموارد الصحيحة:
حساب Azure: أنت بحاجة إلى حساب Azure باشتراك نشط. إذا لم تكن تملك حسابًا، فإنه يمكنكإنشاء حساب مجانًا.
سياق الأمان: تأكد من أن حساب المستخدم الخاص بك لديه
Microsoft.Authorization/roleAssignments/writeالأذونات إما كمسؤول التحكم في الوصول المستند إلى الدور أو مسؤول وصول المستخدم.إعدادات جدار الحماية: أضف
*.azuresre.aiإلى القائمة المسموح بها في إعدادات جدار الحماية. قد تحظر بعض ملفات تعريف الشبكات الوصول إلى*.azuresre.aiالنطاق تلقائيا.
كيف يعمل مفسر الشيفرة
يعمل مفسر كود وكيل SRE في جلسة معزولة لتطبيقات الحاويات Azure ذات الخصائص التالية:
- لا يوجد وصول إلى الشبكة: لا يمكن للصندوق الرملي إجراء طلبات HTTP أو HTTPS الصادرة.
-
لا ظهور للعمليات: الأوامر تحب
subprocessويتمos.systemحجبها. -
لا يوجد تركيب للباقة:
pip installولاconda installيتوفر النظام. -
نظام الملفات المعزول: يجب حفظ جميع الملفات على
/mnt/data/.
تضمن هذه القيود أن يكون تنفيذ الكود آمنا ومتوقعا. مكتبات علم البيانات الشائعة مثل pandas وmatplotlib وSeaborn مثبتة مسبقا.
ابدأ باستخدام مفسر الكود
أدوات مفسر الشيفرة متاحة تلقائيا في محادثات وكيل SRE الخاصة بك. اطلب من الوكيل أداء المهام باستخدام اللغة الطبيعية.
مثال على المطالبات
جرب هذه التعليمات للبدء:
- "حلل بيانات CSV هذه وأنشئ مخططا يوضح الحوادث حسب الفئة."
- "أنشئ ملخص PDF لحوادث اليوم."
- "حلل ملف JSON هذا واستخرج أنماط الخطأ."
- "اذكر جميع الملفات في الجلسة وأظهر أحجامها."
أول سكريبت بايثون لك
المثال التالي يوضح كيفية إنشاء تصور توضيحي:
import matplotlib.pyplot as plt
import numpy as np
# Generate sample data
categories = ['Critical', 'High', 'Medium', 'Low']
counts = [5, 12, 28, 45]
# Create bar chart
plt.figure(figsize=(10, 6))
plt.bar(categories, counts, color=['red', 'orange', 'yellow', 'green'])
plt.title('Incidents by Severity')
plt.xlabel('Severity Level')
plt.ylabel('Count')
plt.savefig('/mnt/data/incidents_by_severity.png', dpi=150)
عندما يعمل الكود بنجاح، يعيد الوكيل الصورة داخل المحادثة.
Scenarios
تحليل بيانات الحوادث
استخدم مفسر الشيفرة لتحويل بيانات الحوادث الخام إلى رؤى وتصورات قابلة للتنفيذ.
اطلب من وكيل SRE إنشاء ملف CSV لجميع الحوادث التي حدثت خلال الشهر الماضي باستخدام التعليمات التالية:
Create a CSV file of all the incidents that occurred in the last month. Name the file `incidents.csv` and save it to `/mnt/data`.استخدم بايثون لتحليل أنماط الحوادث وتحديد الاتجاهات:
import pandas as pd # Load incident data df = pd.read_csv('/mnt/data/incidents.csv') # Calculate summary statistics summary = df.groupby('category').agg({ 'id': 'count', 'resolution_time': 'mean' }).rename(columns={'id': 'count', 'resolution_time': 'avg_resolution_hours'}) # Export results summary.to_csv('/mnt/data/incident_summary.csv') print(summary)
إنشاء مرئيات
أنشئ جداول لنقل الرؤى.
import matplotlib.pyplot as plt
import seaborn as sns
# Load data
df = pd.read_csv('/mnt/data/incidents.csv')
# Create visualization
plt.figure(figsize=(12, 6))
sns.barplot(data=df, x='category', y='count', palette='viridis')
plt.title('Incidents by Category')
plt.xticks(rotation=45)
plt.tight_layout()
plt.savefig('/mnt/data/category_chart.png', dpi=150)
إنشاء تقارير PDF
أنشئ مستندات PDF منسقة لأصحاب المصلحة.
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter
# Create PDF
c = canvas.Canvas('/mnt/data/weekly_report.pdf', pagesize=letter)
# Add content
c.setFont('Helvetica-Bold', 18)
c.drawString(72, 750, 'Weekly Incident Report')
c.setFont('Helvetica', 12)
c.drawString(72, 720, 'Period: January 10-17, 2026')
c.drawString(72, 700, 'Total incidents: 90')
c.drawString(72, 680, 'Critical incidents: 5')
c.drawString(72, 660, 'Average resolution time: 4.2 hours')
c.save()
يقوم الوكيل بإرسال رابط تحميل ملف PDF الذي تم إنشاؤه.
ملفات سجل العمليات
ابحث وحلل ملفات السجل باستخدام أوامر shell.
# Count error occurrences by type
grep -E "ERROR|WARN|FATAL" application.log | sort | uniq -c | sort -rn
# Find the most recent log entries
tail -100 application.log
مرجع الأداة
يوفر Code Interpreter الأدوات التالية:
ExecutePythonCode
يشغل كود بايثون في صندوق مفتوح معزول.
| المعلمة | النوع | مطلوب | وصف |
|---|---|---|---|
pythonCode |
سلسلة | نعم | كود بايثون للتشغيل (حتى 20,000 حرف) |
timeoutSeconds |
العدد الصحيح | لا | مهلة التنفيذ في ثوان (الإعداد الافتراضي: 120، الحد الأقصى: 900) |
المخرج: تظهر الصور داخل الخط كعلامة تخفيض. تعود ملفات البيانات كروابط تحميل.
Generate PdfReport
ينشئ مستندات PDF من كود بايثون.
| المعلمة | النوع | مطلوب | وصف |
|---|---|---|---|
pythonCode |
سلسلة | نعم | كود بايثون الذي ينشئ ملف PDF |
expectedOutputFilename |
سلسلة | نعم | المسار الذي يتم فيه حفظ ملف PDF (على سبيل المثال، report.pdf) |
saveAsFilename |
سلسلة | نعم | تحميل اسم الملف (على سبيل المثال، daily_summary.pdf) |
timeoutSeconds |
العدد الصحيح | لا | مهلة التنفيذ بثوان (الافتراضي: 180، الحد الأقصى: 900) |
RunShellCommand
يشغل أوامر الشل في صندوق الرمل.
| المعلمة | النوع | مطلوب | وصف |
|---|---|---|---|
command |
سلسلة | نعم | أمر شل لتشغيل |
explanation |
سلسلة | لا | وصف تسجيل التسجيل باستخدام الأمر |
isBackground |
boolean | لا | يجب أن يكون كذلك false (وظائف الخلفية غير مدعومة) |
timeoutSeconds |
العدد الصحيح | لا | مهلة التنفيذ (الافتراضي: 120، الحد الأقصى: 240) |
ملاحظه
الأوامر تعمل من /mnt/data/. استخدم المسارات النسبية وأوامر السلسلة باستخدام ; بدلا من &&.
عمليات الملفات
| Tool | وصف |
|---|---|
ReadSessionFile |
يقرأ محتويات ملف من /mnt/data/. |
SearchSessionFiles |
يبحث عن النصوص داخل الملفات باستخدام أنماط بأسلوب grep. |
ListSessionFiles |
يسرد جميع الملفات في الجلسة التي تحتوي على بيانات وصفية. |
GetSessionFile |
يقوم بتحميل ملف من الجلسة. |
UploadFileToSession |
يرفع ملفا لمزيد من المعالجة. |
أنواع الملفات المعتمدة
- الصور: بابوا غينيا الجديدة، اليابان، GIF، SVG، WebP، BMP، TIFF، EPS
- البيانات: CSV، TSV، إكسل، JSON، XML، YAML، HDF5، NetCDF، بيكل
- المستندات: PDF، HTML، Markdown، صيغ Office
- الكود: بايثون، دفاتر Jupyter، R، SQL
- الأرشيف: ZIP، TAR، GZ
Limitations
لأسباب أمنية، يمنع النظام العمليات التالية:
| الفئة | العمليات المحجوبة |
|---|---|
| توليد العمليات |
subprocess، ، os.system، os.popenos.spawn* |
| الوصول إلى الشبكة | طلبات HTTP/HTTPS الصادرة |
| تركيب الحزم |
pip install، conda install |
| نظام الملفات | الوصول إلى الخارج /mnt/data/ |
مفسر شفرة استكشاف الأخطاء
فشل تنفيذ الكود
- تحقق من أن كودك لا يستخدم عمليات محجوبة مثل
subprocessمكالمات الشبكة. - تحقق من أن جميع مسارات الملفات تشير إلى
/mnt/data/. - تأكد من أن كودك أقل من 20,000 حرف.
الملفات لا تظهر في المخرج
- تأكد من حفظ الملفات على
/mnt/data/. - استخدم
ListSessionFilesللتحقق من إنشاء الملفات. - تحقق من دعم امتداد الملف.
أخطاء انتهاء الوقت
- زد المعاملة
timeoutSeconds(الحد الأقصى 900 ثانية). - قم بتحسين كودك لتقليل وقت التنفيذ.
- قسم العمليات الكبيرة إلى أجزاء أصغر.