Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Часто вы создаете системы, реагирующие на ряд критических событий. Независимо от того, создаете ли веб-API, отвечаете на изменения базы данных или обрабатываете потоки событий или сообщения, можно использовать Функции Azure для реализации этих систем.
Во многих случаях функция интегрируется с массивом облачных служб, чтобы обеспечить широкие возможности для реализаций. В следующем списке показаны распространенные сценарии (но не являются исчерпывающими) для Функции Azure.
Выберите язык разработки в верхней части статьи.
Обработка передаваемых файлов
Вы можете использовать функции различными способами для обработки файлов в контейнере хранилища блоб-объектов или извлечения их из контейнера. Для получения дополнительных сведений о параметрах активации для контейнера BLOB-объектов см. Работа с BLOB-объектами в документации по лучшим практикам.
Например, в розничном решении партнерская система может отправлять сведения каталога товаров в виде файлов в объектное хранилище. Вы можете использовать функцию, инициируемую хранилищем BLOB, для проверки, преобразования и обработки файлов в основной системе по мере их загрузки.
В следующих руководствах используется триггер Blob, основанный на Сетка событий Azure, для обработки файлов в контейнере Blob.
- Быстрый старт: реагируйте на события объектов BLOB с помощью Функции Azure
- Пример: Blob-триггер с типом источника Event Grid
- Tutorial (события): активация Функции Azure в контейнерах BLOB-объектов с помощью подписки на события
- Tutorial (опрос): отправка и анализ файла с помощью Функции Azure и Хранилище BLOB-объектов
Например, можно использовать триггер 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();
}
}
}
- Краткое руководство: реагирование на события хранилища Blob с помощью Функции Azure
- Практическое руководство: обработка изображений с помощью FFmpeg в общей подключенной папке Файлы Azure
- Пример: триггер Blob с типом источника Event Grid
- Sample: обработка изображений FFmpeg с подключением к хранилищу Файлы Azure
- Учебное пособие: Запуск Функции Azure для объектов BLOB в контейнерах посредством подписки на события
Поток в режиме реального времени и обработка событий
Облачные приложения, устройства Интернета вещей и сетевые устройства создают и собирают большое количество данных клиентов. Функции 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);
}
- Пример: потоковая передача в масштабе с Центры событий Azure, Функциями и Azure SQL
- Пример: масштабируемая потоковая передача с помощью Центры событий Azure, Функций и Cosmos DB
- Пример: стриминг на платформе Центры событий Azure с производителем Kafka, функциями с триггером Kafka и Cosmos DB
- Пример: потоковая обработка данных в крупном масштабе с помощью Центр Интернета вещей Azure, Azure Functions и Azure SQL
- триггер Центры событий Azure для Функции Azure
- Триггер Apache Kafka для Функции Azure
- триггер Центры событий Azure для Функции Azure
- триггер Apache Kafka для Функции Azure
- Пример: триггер Kafka для Функции Azure
- триггер Центры событий Azure для Функции Azure
- триггер Apache Kafka для Функции Azure
Машинное обучение и ИИ
Функции Azure предоставляет бессерверные вычислительные ресурсы, которые интегрируются с ИИ и Azure службами для упрощения создания облачных интеллектуальных приложений. Вы можете использовать модель программирования функций для создания и размещения серверов протокола MCP удаленной модели и реализации различных средств искусственного интеллекта. Дополнительные сведения см. в разделе Инструменты и серверы MCP.
Расширение привязки Azure OpenAI позволяет интегрировать функции и поведение ИИ Azure OpenAI, такие как генерация с дополненным извлечением (RAG), в выполнение вашего кода функции. Для получения дополнительной информации см. Поколение с дополнением поиска.
Функция также может вызывать модель TensorFlow или Средства Foundry для обработки и классификации потока изображений.
- Quickstart: создание настраиваемого удаленного сервера MCP с помощью Функции Azure
- Быстрый старт: размещение серверов, созданных с использованием MCP SDKs на Функции Azure
- Sample: создание и развертывание удаленного сервера MCP с помощью Функции Azure
- Пример: размещайте удаленные серверы MCP, созданные с помощью официальных пакетов SDK MCP, на Функции Azure
- Quickstart: создание настраиваемого удаленного сервера MCP с помощью Функции Azure
- Quickstart: размещение серверов, построенных с использованием SDK MCP, на платформе Функции Azure
- Sample: создание и развертывание удаленного сервера MCP с помощью Функции Azure
- Пример: размещение удаленных MCP-серверов, созданных с использованием официальных MCP SDK, на Функции Azure
Дополнительные сведения см. в разделе Использование средств и моделей искусственного интеллекта в Функции 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
}
Примеры см. в следующих фрагментах кода:
Создание масштабируемого веб-API
Функция, активировающая HTTP, определяет конечную точку HTTP. Эти конечные точки выполняют код функции, который может подключаться к другим службам напрямую или с помощью расширений привязки. Конечные точки можно интегрировать в веб-API.
Вы также можете использовать конечную точку функции с HTTP-триггером как интеграцию веб-перехватчика, например, веб-перехватчиков GitHub. Таким образом, вы можете создавать функции, обрабатывающие данные из событий GitHub. Дополнительные сведения см. в разделе Функции Azure HTTP триггер.
Примеры см. в следующих фрагментах кода:
[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();
}
- Quickstart: создание масштабируемого веб-API с помощью Функции Azure
- Создание бессерверных API в Visual Studio с помощью интеграции Функции Azure и управления API
- Обеспечить доступ к API без серверов на основе конечных точек HTTP посредством Azure API Management
- Пример: веб-приложение с C# API и Azure SQL базой данных на платформах Статические веб-приложения и Functions
Создание бессерверного рабочего процесса
Функции часто служат в качестве вычислительного компонента в топологии бессерверных рабочих процессов, таких как рабочий процесс Logic Apps. Вы также можете создавать долговременные оркестрации с помощью расширения для Устойчивые функции. Дополнительные сведения см. в обзоре Устойчивые функции.
Схема, показывающая последовательность специфических бессерверных рабочих процессов, реализованных с использованием Функции Azure.
- Quickstart: создание первой устойчивой функции в Azure с помощью Python
- Tutorial: устойчивый анализ текста с подсоединенным общим ресурсом Файлы Azure
- Пример: анализ надежных текстов с подключением к хранилищному узлу Файлы Azure
- Training: развертывание бессерверных API с помощью Функции Azure, Logic Apps и База данных SQL Azure
Реагирование на изменения базы данных
Некоторые процессы должны выполнять журнал, аудит или другие операции при изменении хранимых данных. Триггеры функций предоставляют хороший способ получать уведомления об изменениях данных для инициирования такой операции.
Рассмотрим следующие примеры.
Создание надежных систем сообщений
Функции можно использовать с Azure службами обмена сообщениями для создания расширенных решений для обмена сообщениями на основе событий.
Например, можно использовать триггеры в очередях хранения Azure, чтобы связывать последовательные выполнения функций. Или используйте очереди служебной шины и триггеры для системы заказа по сети.
В этих статьях показано, как записывать выходные данные в очередь хранилища:
В этих статьях показано, как настроить триггер от очереди или темы в Служебная шина Azure.
- Триггер Служебная шина Azure для Функции Azure
- триггер службы Служебная шина Azure для Функции Azure