Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Vaak bouwt u systemen die reageren op een reeks kritieke gebeurtenissen. Of u nu een web-API bouwt, reageert op databasewijzigingen of gebeurtenisstromen of berichten verwerkt, u kunt Azure Functions gebruiken om deze systemen te implementeren.
In veel gevallen kan een functie worden geïntegreerd met een matrix van cloudservices om implementaties met uitgebreide functies te bieden. De volgende lijst bevat veelvoorkomende (maar niet volledig) scenario's voor Azure Functions.
Selecteer uw ontwikkeltaal bovenaan het artikel.
Uploads van bestanden verwerken
U kunt functies op verschillende manieren gebruiken om bestanden te verwerken in of uit een blobopslagcontainer. Zie Werken met blobs in de aanbevolen documentatie voor meer informatie over opties voor het activeren van een blobcontainer.
In een retailoplossing kan een partnersysteem bijvoorbeeld productcatalogusgegevens als bestanden verzenden naar blobopslag. U kunt een door blob geactiveerde functie gebruiken om de bestanden tijdens het uploaden te valideren, transformeren en verwerken in het hoofdsysteem.
In de volgende zelfstudies wordt een Azure Blob-trigger (op basis van Azure Event Grid) gebruikt om bestanden in een blobcontainer te verwerken:
- Quickstart: Reageer op Blob Storage-gebeurtenissen met behulp van Azure Functions
- Voorbeeld: Blob-trigger met de Event Grid-bronsoort
- Tutorial (gebeurtenissen): Trigger Azure Functions in blobcontainers via een gebeurtenisabonnement
- Tutorial (polling): Upload en analyseer een bestand met Azure Functions en Blob Storage
U kunt bijvoorbeeld de blobtrigger gebruiken met een gebeurtenisabonnement op blobcontainers:
[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();
}
}
}
- Quickstart: Reageer op Blob Storage-gebeurtenissen met behulp van Azure Functions
- Tutorial: Afbeeldingen verwerken met FFmpeg op een gekoppelde Azure Files share
- Voorbeeld: Blob-trigger met de Event Grid-bronsoort
- Voorbeeld: Afbeeldingsverwerking met FFmpeg en Azure Files opslagmontage
- Tutorial: Azure Functions activeren op blobcontainers door een gebeurtenisabonnement
Realtime stroom- en gebeurtenisverwerking
Cloudtoepassingen, IoT-apparaten en netwerkapparaten genereren en verzamelen een grote hoeveelheid klantgegevens. Azure Functions kunnen die gegevens bijna in realtime verwerken als de hot path en deze vervolgens opslaan in Azure Cosmos DB voor gebruik in een analysedashboard.
Uw functies kunnen ook triggers voor gebeurtenissen met lage latentie gebruiken, zoals Event Grid, en realtime-uitvoer zoals SignalR om gegevens in bijna realtime te verwerken.
U kunt bijvoorbeeld de event hubs-trigger gebruiken om te lezen van een Event Hub en de uitvoerbinding om naar een Event Hub te schrijven na het debatteren en transformeren van de gebeurtenissen:
[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: Streamen op schaal met Azure Event Hubs, Functies en Azure SQL
- Sample: Streamen op schaal met Azure Event Hubs, Functions en Cosmos DB
- Sample: Streamen op schaal met Azure Event Hubs met Kafka-producent, Functies met Kafka-trigger en Cosmos DB
- Sample: Streamen op schaal met Azure IoT Hub, Functies en Azure SQL
- Azure Event Hubs trigger voor Azure Functions
- Apache Kafka-trigger voor Azure Functions
Bouw AI-gestuurde apps
Gebruik Azure Functions om data en API's beschikbaar te maken voor AI-clients en om AI-redenering toe te voegen aan event-driven applicaties.
Maak je data en API's beschikbaar voor AI
AI-clients en -agenten hebben tools nodig die gecontroleerde toegang bieden tot bedrijfsdata, API's en applicatielogica. Je kunt Azure Functions gebruiken om externe Model Context Protocol (MCP)-servers te bouwen en te hosten die deze mogelijkheden als tools beschikbaar stellen. Functions biedt beheerde hosting, authenticatie, netwerken, monitoring en schaalverdeling voor je MCP-server.
Je kunt bijvoorbeeld productvoorraad, klantaccountgegevens of een bestaande bedrijfs-API blootstellen als tools die een AI-klant kan ontdekken en oproepen.
- Quickstart: Een aangepaste externe MCP-server bouwen met Azure Functions
- Quickstart: Build MCP Apps met Azure Functions
- Quickstart: Hostservers gebouwd met MCP SDK's op Azure Functions
- Tutorial: Host een MCP-server op Azure Functions
- Naslaginformatie: MCP-koppeling voor Azure Functions
- Ai-hulpprogramma's en -modellen gebruiken in Azure Functions
Voeg AI-redenering toe aan zakelijke evenementen
Sommige bedrijfsgebeurtenissen vereisen redeneren voordat je applicatie kan bepalen wat die vervolgens moet doen. Azure Functions gehoste vaardigheden laten je AI-gestuurd werk definiëren in Markdown en het starten vanuit schema's, HTTP-verzoeken, wachtrijberichten, opslagwijzigingen en andere gebeurtenissen. De gehoste vaardigheid kan tools en diensten oproepen voordat een resultaat wordt teruggegeven of een actie wordt ondernomen.
Een gehoste vaardigheid kan bijvoorbeeld een binnenkomende klacht classificeren en deze doorsturen naar de juiste wachtrij. Voor complexer werk kan een dynamische workflow een duurzaam, meerstapsplan creëren dat taken parallel uitvoert, wacht op externe omstandigheden en hervat nadat de werknemer opnieuw is begonnen.
- Quickstart: Bouw een event-gedreven AI-app met Azure Functions gehoste vaardigheden
- How-to: Maak en voer dynamische workflows uit met Azure Functions gehoste vaardigheden
- Voorbeeld: Gebeurtenisgestuurde gehoste skills-app
- Voorbeeld: Workflow incident triage
- Overzicht: door Azure Functions gehoste vaardigheden
- Overzicht: Dynamische workflows in Azure Functions gehoste vaardigheden
Geplande taken uitvoeren
Met Functions kunt u uw code uitvoeren op basis van een cron-schema dat u definieert.
Zie Maak een functie in de Azure-portal die wordt uitgevoerd volgens een schema voor meer informatie.
U kunt bijvoorbeeld elke 15 minuten een klantdatabase voor financiële services analyseren op dubbele vermeldingen om te voorkomen dat meerdere communicatie naar dezelfde klant wordt verzonden.
Zie deze codefragmenten voor voorbeelden:
[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
}
Kijk eens naar dit voorbeeld:
Kijk eens naar dit voorbeeld:
Kijk eens naar dit voorbeeld:
Kijk eens naar dit voorbeeld:
Kijk eens naar dit voorbeeld:
Een schaalbare web-API bouwen
Een door HTTP geactiveerde functie definieert een HTTP-eindpunt. Deze eindpunten voeren functiecode uit die rechtstreeks verbinding kan maken met andere services of door bindingsextensies te gebruiken. U kunt de eindpunten samenstellen in een web-API.
U kunt ook een door HTTP geactiveerd functie-eindpunt gebruiken als webhookintegratie, zoals GitHub webhooks. Op deze manier kunt u functies maken die gegevens verwerken op basis van GitHub gebeurtenissen. Zie Azure Functions HTTP-trigger voor meer informatie.
Zie deze codefragmenten voor voorbeelden:
[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();
}
Een serverloze werkstroom maken
Functies fungeren vaak als het rekenonderdeel in een serverloze werkstroomtopologie, zoals een Logic Apps-werkstroom. U kunt ook langlopende orchestraties maken door middel van de Durable Functions-extensie. Zie Durable Functions overzicht voor meer informatie.
Bekijk deze voorbeelden:
- Quickstart: Uw eerste duurzame functie maken in Azure met behulp van Python
- Tutorial: Duurzame tekstanalyse met een gekoppelde Azure Files share
- Sample: Duurzame tekstanalyse met Azure Files opslagkoppeling
- Training: Serverloze API's implementeren met Azure Functions, Logic Apps en Azure SQL Database
Reageren op wijzigingen in de database
Sommige processen moeten registreren, controleren of andere bewerkingen uitvoeren wanneer opgeslagen gegevens veranderen. Functiestriggers bieden een goede manier om op de hoogte te worden gesteld van gegevenswijzigingen om een dergelijke bewerking in eerste instantie te starten.
Bekijk deze voorbeelden:
Betrouwbare berichtsystemen maken
U kunt Functions gebruiken met Azure messaging-services om geavanceerde gebeurtenisgestuurde berichtenoplossingen te maken.
U kunt bijvoorbeeld triggers in Azure Storage wachtrijen gebruiken om een reeks functie-uitvoeringen te koppelen. Of gebruik servicebuswachtrijen en triggers voor een online bestelsysteem.
Deze artikelen laten zien hoe u uitvoer naar een opslagwachtrij schrijft:
Deze artikelen laten zien hoe u kunt activeren vanuit een Azure Service Bus wachtrij of onderwerp.