Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Spesso si creano sistemi che reagiscono a una serie di eventi critici. Sia che si stia creando un'API Web, rispondendo alle modifiche del database o elaborando flussi di eventi o messaggi, è possibile usare Funzioni di Azure per implementare questi sistemi.
In molti casi una funzione si integra con una serie di servizi cloud per offrire implementazioni complete e avanzate. L'elenco seguente mostra scenari comuni (ma non esaustivi) per Funzioni di Azure.
Selezionare il linguaggio di sviluppo nella parte superiore dell'articolo.
Elaborare caricamenti di file
È possibile usare le funzioni in diversi modi per elaborare i file in o in un contenitore di archiviazione BLOB. Per altre informazioni sulle opzioni per l'attivazione in un contenitore BLOB, vedere Uso di BLOB nella documentazione sulle procedure consigliate.
Ad esempio, in una soluzione di vendita al dettaglio, un sistema partner può inviare informazioni sul catalogo prodotti come file nell'archivio BLOB. È possibile usare una funzione attivata da BLOB per convalidare, trasformare ed elaborare i file nel sistema principale durante il caricamento.
Le esercitazioni seguenti usano un trigger BLOB Azure (basato su Griglia di eventi di Azure) per elaborare i file in un contenitore BLOB:
- Guida introduttiva: Rispondere agli eventi di archiviazione dei BLOB usando Funzioni di Azure
- Esempio: Trigger di BLOB con il tipo di origine Griglia di eventi
- Tutorial (eventi): attivare Funzioni di Azure nei contenitori BLOB usando una sottoscrizione di eventi
- Tutorial (polling): caricare e analizzare un file con Funzioni di Azure e gestione rete virtuale di Azure
Ad esempio, è possibile usare il trigger BLOB con una sottoscrizione di eventi nei contenitori 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();
}
}
}
- Guida introduttiva: Rispondere agli eventi di archiviazione dei BLOB usando Funzioni di Azure
- Tutorial: elaborare le immagini usando FFmpeg in una condivisione di File di Azure montata
- Esempio: Trigger di BLOB con il tipo di origine Griglia di eventi
- Sample: elaborazione di immagini con FFmpeg tramite montaggio su File di Azure
- Tutorial: attivare Funzioni di Azure nei contenitori BLOB usando una sottoscrizione di eventi
Elaborazione di flussi ed eventi in tempo reale
Le applicazioni cloud, i dispositivi IoT e i dispositivi di rete generano e raccolgono una grande quantità di dati dei clienti. La soluzione Funzioni di Azure può elaborare tali dati near real-time come percorso di dati ad accesso frequente, quindi archiviarli in Azure Cosmos DB per l'utilizzo in un dashboard analitico.
Le funzioni possono anche usare trigger di eventi a bassa latenza, ad esempio Griglia di eventi, e output in tempo reale come SignalR per elaborare i dati quasi in tempo reale.
Ad esempio, è possibile usare il trigger di hub eventi per leggere da un hub eventi e il binding di output per scrivere in un hub eventi dopo il debatching e la trasformazione degli eventi:
[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: streaming su larga scala con Hub eventi di Azure, funzioni e Azure SQL
- Sample: streaming su larga scala con Hub eventi di Azure, Funzioni e Cosmos DB
- Esempio: streaming su larga scala con Hub eventi di Azure con producer Kafka, Funzioni con trigger Kafka e Cosmos DB
- Sample: streaming su ampia scala con hub IoT di Azure, Funzioni e Azure SQL
- Trigger di Hub eventi di Azure per Funzioni di Azure
- trigger Apache Kafka per Funzioni di Azure
Crea app basate sull'IA
Usa Funzioni di Azure per rendere dati e API disponibili ai client AI e per aggiungere ragionamento AI alle applicazioni basate su eventi.
Rendi disponibili i tuoi dati e le API all'IA
I client e gli agenti IA hanno bisogno di strumenti che forniscano un accesso controllato ai dati aziendali, alle API e alla logica applicativa. Puoi usare Funzioni di Azure per costruire e ospitare server remoti Model Context Protocol (MCP) che espongono queste funzionalità come strumenti. Functions fornisce hosting gestito, autenticazione, networking, monitoraggio e scalabilità per il tuo server MCP.
Ad esempio, potresti esporre l'inventario prodotto, i dati degli account clienti o un'API aziendale esistente come strumenti che un cliente AI può scoprire e chiamare.
- Quickstart: Creare un server MCP remoto personalizzato usando Funzioni di Azure
- Quickstart: Crea app MCP usando Funzioni di Azure
- Guida rapida: Ospitare server costruiti con MCP SDK su Funzioni di Azure
- Tutorial: Ospita un server MCP su Funzioni di Azure
- Riferimento: MCP binding per Funzioni di Azure
- Usare strumenti e modelli di intelligenza artificiale in Funzioni di Azure
Aggiungi il ragionamento AI agli eventi aziendali
Alcuni eventi aziendali richiedono un ragionamento prima che la tua applicazione possa decidere cosa fare dopo. Le competenze ospitate da Funzioni di Azure ti permettono di definire lavori basati su IA in Markdown e avviarli da schedari, richieste HTTP, messaggi in coda, modifiche di memoria e altri eventi. L'abilità ospitata può chiamare strumenti e servizi prima di restituire un risultato o di intraprendere un'azione.
Ad esempio, una competenza ospitata può classificare un reclamo in arrivo e instradarlo alla coda appropriata. Per lavori più complessi, un flusso di lavoro dinamico può creare un piano duraturo e a più passi che esegue le attività in parallelo, attende condizioni esterne e riprende dopo il riavvio del lavoratore.
- Quickstart: Crea un'app AI basata sugli eventi con competenze ospitate su Funzioni di Azure
- Come fare: Crea ed esegue flussi di lavoro dinamici con le competenze ospitate da Funzioni di Azure
- Esempio: App di competenze gestite dagli eventi
- Esempio: Triage degli incidenti del flusso di lavoro
- Panoramica: Competenze ospitate da Funzioni di Azure
- Panoramica: Flussi di lavoro dinamici nelle competenze ospitate da Funzioni di Azure
Eseguire attività pianificate
Funzioni consente di eseguire il codice in base a una pianificazione Cron definita dall'utente.
Per altre informazioni, vedere Creare una funzione nel portale di Azure in esecuzione in base a una pianificazione.
Ad esempio, è possibile analizzare un database clienti dei servizi finanziari per individuare voci duplicate ogni 15 minuti per evitare che più comunicazioni vengano eseguite allo stesso cliente.
Per esempi, vedere questi frammenti di codice:
[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
}
Si consideri questo esempio:
Si consideri questo esempio:
Si consideri questo esempio:
Si consideri questo esempio:
Si consideri questo esempio:
Creare un'API Web scalabile
Una funzione attivata da HTTP definisce un endpoint HTTP. Questi endpoint eseguono il codice della funzione che può connettersi ad altri servizi direttamente, oppure usando estensioni di binding. È possibile comporre gli endpoint in un'API basata sul Web.
È anche possibile usare un endpoint di funzione attivato da HTTP come integrazione di webhook, ad esempio GitHub webhook. In questo modo, è possibile creare funzioni che elaborano i dati da eventi GitHub. Per altre informazioni, vedere Funzioni di Azure trigger HTTP.
Per esempi, vedere questi frammenti di codice:
[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();
}
Creare un flusso di lavoro serverless
Le funzioni spesso fungono da componente di calcolo in una topologia serverless di flusso di lavoro, come ad esempio un flusso di lavoro di Logic Apps. È anche possibile creare orchestrazioni a esecuzione prolungata usando l'estensione Durable Functions. Per altre informazioni, vedere panoramica di Durable Functions.
Considerare i seguenti esempi:
- Quickstart: Creare la prima funzione durevole in Azure usando Python
- Tutorial: analisi testo persistente con una condivisione di File di Azure montata
- Sample: analisi del testo durevole con il montaggio dell'archiviazione di File di Azure
- Formazione: distribuire API serverless con Funzioni di Azure, App per la logica e database SQL di Azure
Rispondere alle modifiche di database
Alcuni processi devono registrare, controllare o eseguire altre operazioni quando vengono modificati i dati archiviati. I trigger di Funzioni consentono di ricevere una notifica di eventuali modifiche ai dati per al fine di inizializzare un'operazione di questo tipo.
Considerare i seguenti esempi:
Creare sistemi di messaggistica affidabili
È possibile usare Funzioni con Azure servizi di messaggistica per creare soluzioni di messaggistica avanzate basate su eventi.
Ad esempio, è possibile usare i trigger nelle code Archiviazione di Azure come modo per concatenare una serie di esecuzioni di funzioni. In alternativa, usare code e trigger del bus di servizio per un sistema di ordinamento online.
Questi articoli illustrano come scrivere l'output in una coda di archiviazione:
Questi articoli illustrano come eseguire l'attivazione da una coda o un argomento del bus di servizio di Azure.