إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
غالبا ما تبني أنظمة تستجيب لسلسلة من الأحداث الحرجة. سواء كنت تبني واجهة برمجة تطبيقات ويب، أو تستجيب لتغييرات قاعدة البيانات، أو تعالج تدفقات الأحداث أو الرسائل، يمكنك استخدام دالات Azure لتنفيذ هذه الأنظمة.
في كثير من الحالات، فإن الدالة تتكامل مع مجموعة من الخدمات السحابية لتقديم تطبيقات ثرية بالميزات. تظهر القائمة التالية سيناريوهات شائعة (لكنها ليست شاملة بأي حال من الأحوال) ل دالات Azure.
حدد لغة التطوير في أعلى المقالة.
معالجة تحميلات الملفات
يمكنك استخدام الوظائف بعدة طرق لمعالجة الملفات داخل أو خارج حاوية تخزين blob. لمعرفة المزيد حول خيارات التشغيل على حاوية كائن ثنائي كبير الحجم، راجع العمل مع الكائنات الثنائية كبيرة الحجم في وثائق أفضل الممارسات.
على سبيل المثال، في حل البيع بالتجزئة، يمكن لنظام شريك إرسال معلومات كتالوج المنتج كملفات إلى تخزين blob. يمكنك استخدام وظيفة مفعلة بواسطة blob للتحقق من صحة الملفات وتحويلها ومعالجتها إلى النظام الرئيسي أثناء رفعها.
تستخدم الدروس التالية مشغل Azure Blob (مبني على Azure Event Grid) لمعالجة الملفات في حاوية blob:
- Quickstart: الاستجابة لأحداث تخزين الكتل باستخدام دالات Azure
- عينة: زناد كتلة بمصدر شبكة الحدث
- Tutorial (أحداث): تفعيل دالات Azure على حاويات blob باستخدام اشتراك الأحداث
- Tutorial (الاستطلاع): رفع وتحليل ملف يحتوي على دالات Azure و مخزن البيانات الثنائية الكبيرة
على سبيل المثال، يمكنك استخدام مشغل Blob مع اشتراك حدث في حاويات blob:
[FunctionName("ProcessCatalogData")]
public static async Task Run([BlobTrigger("catalog-uploads/{name}", Source = BlobTriggerSource.EventGrid, Connection = "<NAMED_STORAGE_CONNECTION>")] Stream myCatalogData, string name, ILogger log)
{
log.LogInformation($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {myCatalogData.Length} Bytes");
using (var reader = new StreamReader(myCatalogData))
{
var catalogEntry = await reader.ReadLineAsync();
while(catalogEntry !=null)
{
// Process the catalog entry
// ...
catalogEntry = await reader.ReadLineAsync();
}
}
}
التدفق في الوقت الحقيقي ومعالجة الأحداث
تنتج تطبيقات السحابة، وأجهزة إنترنت الأشياء، وأجهزة الشبكات كمية كبيرة من بيانات العملاء. دالات Azure يمكنها معالجة تلك البيانات في الوقت القريب من الوقت كمسار ساخن، ثم تخزينها في Azure Cosmos DB لاستخدامها في لوحة تحكم التحليلات.
يمكن لوظائفك أيضا استخدام محفزات الأحداث منخفضة الكمون، مثل شبكة الأحداث، ومخرجات الوقت الحقيقي مثل SignalR لمعالجة البيانات في الوقت شبه الحقيقي.
على سبيل المثال، يمكنك استخدام مشغل مركز الأحداث للقراءة من مركز الأحداث وربط الإخراج للكتابة إلى مركز الأحداث بعد إزالة وتحويل الأحداث:
[FunctionName("ProcessorFunction")]
public static async Task Run(
[EventHubTrigger(
"%Input_EH_Name%",
Connection = "InputEventHubConnectionSetting",
ConsumerGroup = "%Input_EH_ConsumerGroup%")] EventData[] inputMessages,
[EventHub(
"%Output_EH_Name%",
Connection = "OutputEventHubConnectionSetting")] IAsyncCollector<SensorDataRecord> outputMessages,
PartitionContext partitionContext,
ILogger log)
{
var debatcher = new Debatcher(log);
var debatchedMessages = await debatcher.Debatch(inputMessages, partitionContext.PartitionId);
var xformer = new Transformer(log);
await xformer.Transform(debatchedMessages, partitionContext.PartitionId, outputMessages);
}
- Sample: البث على نطاق واسع باستخدام مراكز أحداث Azure، والوظائف، و Azure SQL
- Sample: البث على نطاق واسع مع مراكز أحداث Azure وFunctions وCosmos DB
- Sample: بث على نطاق واسع مع مراكز أحداث Azure مع منتج كافكا، والوظائف مع Kafka trigger وCosmos DB
- Sample: البث على نطاق واسع مع Azure IoT Hub، والوظائف، و Azure SQL
- مراكز أحداث Azure محفز ل دالات Azure
- Apache Kafka trigger for دالات Azure
التعلم الآلي والذكاء الاصطناعي
يوفر دالات Azure موارد حوسبة بدون خادم تتكامل مع خدمات الذكاء الاصطناعي وخدمات Azure لتبسيط بناء التطبيقات الذكية المستضافة في السحابة. يمكنك استخدام نموذج برمجة الوظائف لإنشاء واستضافة خوادم بروتوكول سياق النموذج البعيد (MCP) وتنفيذ أدوات الذكاء الاصطناعي المختلفة. لمزيد من المعلومات، راجع الأدوات وخوادم MCP.
يتيح لك امتداد الربط Azure OpenAI دمج ميزات وسلوكيات الذكاء الاصطناعي ل Azure OpenAI، مثل التوليد المعزز بالاسترجاع (RAG)، في تنفيذ كود الوظائف الخاص بك. لمزيد من المعلومات، انظر التوليد المعزز بالاسترجاع.
قد تستدعي دالة أيضا نموذج TensorFlow أو أدوات Foundry لمعالجة وتصنيف تدفق من الصور.
لمزيد من المعلومات، راجع استخدام أدوات ونماذج الذكاء الاصطناعي في دالات Azure.
تشغيل المهام المجدولة
تمكنك الوظائف من تشغيل التعليمات البرمجية الخاصة بك استنادا إلى جدول cron الذي تحدده.
لمعرفة المزيد، راجع إنشاء دالة في بوابة Azure تعمل على جدول زميلي.
على سبيل المثال، قد تحلل قاعدة بيانات عملاء الخدمات المالية بحثا عن مكررات كل 15 دقيقة لتجنب إرسال عدة اتصالات إلى نفس العميل.
على الأمثلة، انظر هذه المقتطفات من الكود:
[FunctionName("TimerTriggerCSharp")]
public static void Run([TimerTrigger("0 */15 * * * *")]TimerInfo myTimer, ILogger log)
{
if (myTimer.IsPastDue)
{
log.LogInformation("Timer is running late!");
}
log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
// Perform the database deduplication
}
فكِّر في هذا المثال:
فكِّر في هذا المثال:
فكِّر في هذا المثال:
فكِّر في هذا المثال:
فكِّر في هذا المثال:
إنشاء واجهة برمجة تطبيقات ويب قابلة للتطوير
الدالة التي يتم تفعيلها بواسطة HTTP تحدد نقطة نهاية HTTP. تعمل نقاط النهاية هذه على تشغيل التعليمات البرمجية للدالة التي يمكنها الاتصال بخدمات أخرى مباشرة أو باستخدام ملحقات الربط. يمكنك إنشاء نقاط النهاية في واجهة برمجة تطبيقات مستندة إلى الويب.
يمكنك أيضا استخدام نقطة نهاية دالة تعمل عبر HTTP كدمج مع webhook، مثل GitHub webhooks. بهذه الطريقة، يمكنك إنشاء وظائف تعالج البيانات من أحداث GitHub. لمزيد من المعلومات، راجع دالات Azure HTTP trigger.
على الأمثلة، انظر هذه المقتطفات من الكود:
[FunctionName("InsertName")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Function, "post")] HttpRequest req,
[CosmosDB(
databaseName: "my-database",
collectionName: "my-container",
ConnectionStringSetting = "CosmosDbConnectionString")]IAsyncCollector<dynamic> documentsOut,
ILogger log)
{
string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
dynamic data = JsonConvert.DeserializeObject(requestBody);
string name = data?.name;
if (name == null)
{
return new BadRequestObjectResult("Please pass a name in the request body json");
}
// Add a JSON document to the output container.
await documentsOut.AddAsync(new
{
// create a random ID
id = System.Guid.NewGuid().ToString(),
name = name
});
return new OkResult();
}
إنشاء سير عمل بلا خادم
غالبا ما تعمل الدوال كمكون حوسبة في طوبولوجيا سير عمل بدون خادم، مثل سير عمل تطبيقات المنطق. يمكنك أيضا إنشاء أوركستراشات طويلة الأمد باستخدام إضافة Durable Functions. لمزيد من المعلومات، راجع نظرة عامة Durable Functions.
خذ بعين الاعتبار هذه الأمثلة:
الاستجابة لتغييرات قاعدة البيانات
بعض العمليات تحتاج إلى تسجيل أو تدقيق أو تنفيذ عمليات أخرى عند تغير البيانات المخزنة. توفر مشغلات الوظائف طريقة جيدة للحصول على إشعار بتغييرات البيانات في البداية مثل هذه العملية.
خذ بعين الاعتبار هذه الأمثلة:
إنشاء أنظمة رسائل موثوقة
يمكنك استخدام Functions مع خدمات المراسلة في Azure لإنشاء حلول متقدمة تعتمد على الأحداث.
على سبيل المثال، يمكنك استخدام المحفزات في قوائم انتظار تخزين Azure كطريقة لربط سلسلة من تنفيذ الدوال معا. أو استخدم قوائم انتظار ومشغلات ناقل الخدمة لنظام طلب عبر الإنترنت.
توضح هذه المقالات كيفية كتابة الإخراج إلى قائمة انتظار التخزين:
توضح هذه المقالات كيفية التفعيل من طابور أو موضوع ناقل خدمة Azure.