Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
A menudo, se crean sistemas que reaccionan a una serie de eventos críticos. Independientemente de si va a crear una API web, responder a los cambios de la base de datos o procesar flujos de eventos o mensajes, puede usar Azure Functions para implementar estos sistemas.
En muchos casos, una función se integra con una matriz de servicios en la nube para proporcionar implementaciones con numerosas características. En la lista siguiente se muestran escenarios comunes (pero no exhaustivos) para Azure Functions.
Seleccione su lenguaje de desarrollo en la parte superior de este artículo.
Procesar cargas de archivos
Puede usar funciones de varias maneras de procesar archivos dentro o fuera de un contenedor de Blob Storage. Para más información sobre las opciones para la operación de desencadenamiento en un contenedor de blobs, consulte Trabajar con blobs en la documentación de procedimientos recomendados.
Por ejemplo, en una solución comercial, un sistema asociado puede enviar información del catálogo de productos como archivos en Blob Storage. Puede usar una función desencadenada por blobs para validar, transformar y procesar los archivos en el sistema principal a medida que los carga.
En los tutoriales siguientes se usa un desencadenador de blobs (basado en Event Grid) para procesar archivos en un contenedor de blobs:
Por ejemplo, use el desencadenador de blobs con una suscripción de eventos en contenedores de blobs:
[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();
}
}
}
- Inicio rápido: Respuesta a eventos de Blob Storage mediante Azure Functions
- Ejemplo> inicio rápido de desencadenador de blobs con el tipo de origen Event Grid
- Tutorial (eventos): Desencadenamiento de Azure Functions en contenedores de blobs mediante una suscripción de eventos
- Tutorial (sondeo): Carga y análisis de un archivo con Azure Functions y Blob Storage
- Inicio rápido: Respuesta a eventos de Blob Storage mediante Azure Functions
- Ejemplo> inicio rápido de desencadenador de blobs con el tipo de origen Event Grid
- Tutorial (eventos): Desencadenamiento de Azure Functions en contenedores de blobs mediante una suscripción de eventos
- Tutorial (sondeo): Carga y análisis de un archivo con Azure Functions y Blob Storage
Procesamiento de eventos y flujos en tiempo real
Las aplicaciones en la nube, los dispositivos IoT y los dispositivos de red generan y recopilan una gran cantidad de telemetría. Azure Functions puede procesar esos datos casi en tiempo real como ruta de acceso activa y almacenarlos en Azure Cosmos DB para usarlos en un panel de análisis.
Las funciones también pueden usar desencadenadores de eventos de baja latencia, como Event Grid, y salidas en tiempo real, como SignalR, para procesar datos casi en tiempo real.
Por ejemplo, use el desencadenador de Event Hubs para leer desde un centro de eventos y el enlace de salida para escribir en un centro de eventos después de desagrupar y transformar los eventos:
[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);
}
- Flujo a gran escala con Azure Event Hubs, Functions y Azure SQL
- Flujo a gran escala con Azure Event Hubs, Functions y Cosmos DB
- Flujo a gran escala con Azure Event Hubs con el productor de Kafka, Functions con el desencadenador de Kafka y Cosmos DB
- Flujo a gran escala con Azure IoT Hub, Functions y Azure SQL
- Desencadenador de Azure Event Hubs para Azure Functions
- Desencadenador de Apache Kafka para Azure Functions
Aprendizaje automático e inteligencia artificial
Azure Functions proporciona recursos de proceso sin servidor que se integran con la inteligencia artificial y los servicios de Azure para simplificar la creación de aplicaciones inteligentes hospedadas en la nube. Puede usar el modelo de programación de Functions para crear y hospedar servidores de Protocolo de contenido de modelos remotos (MCP) e implementar diversas herramientas de inteligencia artificial. Para obtener más información, consulte Herramientas y servidores MCP.
La extensión de enlace de Azure OpenAI permite integrar características y comportamientos de ia del servicio Azure OpenAI, como la generación aumentada de recuperación (RAG), en las ejecuciones de código de función. Para obtener más información, consulte Generación de recuperación aumentada.
Una función también puede llamar a un modelo de TensorFlow o a los servicios de Azure AI para procesar y clasificar una secuencia de imágenes.
- Inicio rápido: Creación de un servidor MCP remoto personalizado mediante Azure Functions
- Inicio rápido: Hospedaje de servidores creados con SDK de MCP en Azure Functions
- Ejemplo: Introducción a servidores MCP remotos mediante Azure Functions
- Ejemplo: Hospedaje de servidores MCP remotos creados con SDK de MCP oficiales en Azure Functions
- Inicio rápido: Creación de un servidor MCP remoto personalizado mediante Azure Functions
- Inicio rápido: Hospedaje de servidores creados con SDK de MCP en Azure Functions
- Ejemplo: Introducción a servidores MCP remotos mediante Azure Functions
- Ejemplo: Hospedaje de servidores MCP remotos creados con SDK de MCP oficiales en Azure Functions
Para más información, consulte Uso de herramientas y modelos de IA en Azure Functions.
Ejecutar tareas programadas
Functions le permite ejecutar el código en función de una programación de Cron que defina.
Consulte Creación de una función en Azure Portal que se ejecuta según una programación.
Por ejemplo, podría analizar una base de datos de clientes de servicios financieros para entradas duplicadas cada 15 minutos para evitar que varias comunicaciones salgan al mismo cliente.
Para obtener ejemplos, consulte estos fragmentos de código:
[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
}
Creación de una API web escalable
Una función desencadenada por HTTP define un punto de conexión HTTP. Estos puntos de conexión ejecutan código de función que puede conectarse directamente a otros servicios o mediante extensiones de enlace. Puede componer los puntos de conexión en una API basada en web.
También puede usar un punto de conexión de función desencadenada por HTTP como una integración de webhook, como webhooks de GitHub. De este modo, puede crear funciones que procesen datos de eventos de GitHub. Para más información, consulte Supervisión de eventos de GitHub mediante un webhook con Azure Functions.
Para obtener ejemplos, consulte estos fragmentos de código:
[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();
}
- Inicio rápido: Desencadenador HTTP de Azure Functions
- Artículo: Creación de API sin servidor en Visual Studio mediante la integración de Azure Functions y API Management
- Entrenamiento: Exposición de varias aplicaciones de funciones como UNA API coherente mediante Azure API Management
- Ejemplo: Aplicación web con una API de C# y Azure SQL DB en Static Web Apps y Functions
Compilar un flujo de trabajo sin servidor
Las funciones suelen servir como componente de proceso en una topología de flujo de trabajo sin servidor, como un flujo de trabajo de Logic Apps. También puede crear orquestaciones de larga duración mediante la extensión Durable Functions. Para más información, consulte Información general de Durable Functions.
Responder a cambios en una base de datos
Algunos procesos necesitan registrar, auditar o realizar otras operaciones cuando cambian los datos almacenados. Los desencadenadores de Functions proporcionan una buena manera de recibir notificaciones de los cambios de datos para inicializar dicha operación.
Tenga en cuenta estos ejemplos:
Crear sistema de mensajes confiables
Puede usar Functions con servicios de mensajería de Azure para crear soluciones avanzadas de mensajería controladas por eventos.
Por ejemplo, puede usar desencadenadores en colas de Azure Storage como una manera de concatenar una serie de ejecuciones de función. O bien, use colas y desencadenadores de Service Bus para un sistema de pedidos en línea.
En estos artículos se muestra cómo escribir la salida en una cola de almacenamiento:
En estos artículos, se muestra cómo desencadenar desde una cola o tema de Azure Service Bus.