Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Häufig erstellen Sie Systeme, die auf eine Reihe kritischer Ereignisse reagieren. Unabhängig davon, ob Sie eine Web-API erstellen, auf Datenbankänderungen reagieren oder Ereignisdatenströme oder Nachrichten verarbeiten, können Sie diese Systeme mithilfe von Azure Functions implementieren.
In vielen Fällen wird eine Funktion in ein Array mit Clouddiensten integriert, um Implementierungen mit großem Funktionsumfang zu erzielen. Die folgende Liste zeigt allgemeine (aber nicht vollständige) Szenarien für Azure Functions.
Wählen Sie am Anfang des Artikels Ihre Entwicklungssprache.
Bearbeitung von Dateiuploads
Sie können Funktionen auf verschiedene Arten verwenden, um Dateien in oder aus einem BLOB-Speichercontainer zu verarbeiten. Weitere Informationen zu Optionen zum Auslösen in einem Blobcontainer finden Sie in der Dokumentation zu bewährten Methoden unter Arbeiten mit Blobs.
In einer Lösung für den Einzelhandel kann beispielsweise ein Partnersystem Produktkataloginformationen als Dateien in einen Blob Storage übermitteln. Sie können eine blob-ausgelöste Funktion verwenden, um die Dateien während des Uploads in das Hauptsystem zu überprüfen, zu transformieren und zu verarbeiten.
In den folgenden Tutorials wird ein Event Grid-basierter Blob-Auslöser verwendet, um Dateien in einem Blobcontainer zu verarbeiten:
Verwenden Sie beispielsweise den Blob-Trigger mit einem Ereignisabonnement für Blob-Container.
[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();
}
}
}
- Schnellstart: Reagieren auf Blob-Speicherereignisse mithilfe von Azure Functions
- Beispiel: Blob-Trigger mit dem Schnellstartbeispiel für den Event Grid-Quelltyp)
- Anleitung (Ereignisse): Auslösen von Azure Functions in Blob-Containern mithilfe eines Ereignisabonnements
- Tutorial (Polling): Hochladen und Analysieren einer Datei mit Azure-Funktionen und Blob Storage
- Schnellstart: Reagieren auf Blob-Speicherereignisse mithilfe von Azure Functions
- Beispiel: Blob-Trigger mit dem Schnellstartbeispiel für den Event Grid-Quelltyp)
- Lernprogramm (Ereignisse): Auslösen von Azure Functions in BLOB-Containern mithilfe eines Ereignisabonnements
- Tutorial (Polling): Hochladen und Analysieren einer Datei mit Azure Functions und Blob Storage
Echtzeit-Datenstrom- und -Echtzeit-Ereignisverarbeitung
Cloudanwendungen, IoT-Geräte und Netzwerkgeräte generieren und sammeln eine große Anzahl von Telemetriedaten. Azure Functions kann diese Daten nahezu in Echtzeit als Hotpath verarbeiten, um sie dann in Azure Cosmos DB zu speichern und in einem Analyse-Dashboard zu verwenden.
Ihre Funktionen können auch Ereignistrigger mit geringer Latenz wie Event Grid und Echtzeitausgaben wie SignalR verwenden, um Daten nahezu in Echtzeit zu verarbeiten.
Verwenden Sie beispielsweise den Event Hubs-Trigger, um aus einem Event Hub zu lesen, und die Ausgabebindung, um nach dem Auflösen und Transformieren der Ereignisse in einen Event Hub zu schreiben:
[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);
}
- Streaming im großen Stil mit Azure Event Hubs, Functions und Azure SQL
- Streaming im großen Stil mit Azure Event Hubs, Functions und Cosmos DB
- Streaming im großen Stil mit Azure Event Hubs mit Kafka Producer, Functions mit Kafka-Trigger und Cosmos DB
- Streaming im großen Stil mit Azure IoT Hub, Functions und Azure SQL
- Azure Event Hubs-Trigger für Azure Functions
- Apache Kafka-Trigger für Azure Functions
Machine Learning und KI
Azure Functions bietet serverlose Computeressourcen, die in KI- und Azure-Dienste integriert werden, um die Erstellung von in der Cloud gehosteten intelligenten Anwendungen zu optimieren. Sie können das Funktionenprogrammiermodell verwenden, um Remotemodellinhaltsprotokollserver (MCP) zu erstellen und zu hosten und verschiedene KI-Tools zu implementieren. Weitere Informationen finden Sie unter Tools und MCP-Server.
Mit der Azure OpenAI-Bindungserweiterung können Sie KI-Features und -Verhaltensweisen des Azure OpenAI-Diensts wie z. B. die Generierung von Abruferweiterungen (RAG) in Ihre Funktionscodeausführungen integrieren. Weitere Informationen finden Sie unter Abrufunterstützte Generierung.
Eine Funktion kann auch ein TensorFlow-Modell oder Azure AI-Dienste aufrufen, um einen Datenstrom von Bildern zu verarbeiten und zu klassifizieren.
- Schnellstart: Erstellen eines benutzerdefinierten MCP-Remoteservers mit Azure Functions
- Schnellstart: Hostserver, die mit MCP-SDKs auf Azure-Funktionen erstellt wurden
- Beispiel: Erste Schritte mit Remote-MCP-Servern mithilfe von Azure Functions
- Beispiel: Hosten von Remote-MCP-Servern, die mit offiziellen MCP-SDKs auf Azure-Funktionen erstellt wurden
- Schnellstart: Erstellen eines benutzerdefinierten MCP-Remoteservers mit Azure Functions
- Schnellstart: Hostserver, die mit MCP-SDKs auf Azure-Funktionen erstellt wurden
- Beispiel: Erste Schritte mit Remote-MCP-Servern mithilfe von Azure Functions
- Beispiel: Hosten von Remote-MCP-Servern, die mit offiziellen MCP-SDKs auf Azure-Funktionen erstellt wurden
Weitere Informationen finden Sie unter Verwenden von KI-Tools und -Modellen in Azure Functions.
Ausführen von geplanten Aufgaben
Mithilfe von Functions können Sie Ihren Code basierend auf einem cron-Zeitplan ausführen, den Sie selbst festlegen.
Siehe Erstellen einer Funktion im Azure-Portal, die in einem Zeitplan ausgeführt wird.
Sie können beispielsweise eine Kundendatenbank für Finanzdienstleistungen für doppelte Einträge alle 15 Minuten analysieren, um zu vermeiden, dass mehrere Kommunikationen an denselben Kunden gehen.
Beispiele finden Sie in den folgenden Codeausschnitten:
[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
}
Erstellen einer skalierbaren Web-API
Eine durch HTTP ausgelöste Funktion definiert einen HTTP-Endpunkt. Diese Endpunkte führen Funktionscode aus, der direkt oder mithilfe von Bindungserweiterungen eine Verbindung mit anderen Diensten herstellen kann. Sie können die Endpunkte in einer webbasierten API zusammenstellen.
Sie können auch einen durch HTTP ausgelösten Funktionsendpunkt als Webhookintegration verwenden, z. B. GitHub-Webhooks. Auf diese Weise können Sie Funktionen erstellen, die Daten aus GitHub-Ereignissen verarbeiten. Weitere Informationen finden Sie unter Überwachen von GitHub-Ereignissen mithilfe eines Webhooks mit Azure-Funktionen.
Beispiele finden Sie in den folgenden Codeausschnitten:
[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();
}
- Schnellstart: HTTP-Trigger für Azure Functions
- Artikel: Erstellen von serverlosen APIs in Visual Studio mithilfe der Integration von Azure Functions und API Management
- Schulung: Verfügbarmachen mehrerer Funktions-Apps als konsistente API mithilfe der Azure-API-Verwaltung
- Beispiel: Webanwendung mit einer C#-API und Azure SQL DB für statische Web-Apps und -Funktionen
Entwickeln eines serverlosen Workflows
Funktionen dienen häufig als Computekomponente in einer serverlosen Workflowtopologie, z. B. einem Logic Apps-Workflow. Sie können auch langfristige Orchestrierungen mithilfe der Erweiterung "Durable Functions" erstellen. Weitere Informationen finden Sie unter Überblick über Durable Functions.
Reagieren auf Datenbankänderungen
Einige Prozesse müssen beim Ändern gespeicherter Daten protokollieren, überwachen oder andere Vorgänge ausführen. Functions-Trigger bieten eine gute Möglichkeit, über Datenänderungen benachrichtigt zu werden, um einen solchen Vorgang zu starten.
Sehen Sie sich die folgenden Beispiele an:
Erstellen zuverlässiger Messagingsysteme
Sie können Funktionen mit Azure-Messagingdiensten verwenden, um erweiterte ereignisgesteuerte Messaginglösungen zu erstellen.
Beispielsweise können Sie Trigger in Azure Storage-Warteschlangen verwenden, um eine Reihe von Funktionsausführungen miteinander zu verketten. Alternativ können Sie für ein Onlinebestellungssystem Service Bus-Warteschlangen und Trigger verwenden.
In diesen Artikeln wird gezeigt, wie Sie die Ausgabe in eine Speicherwarteschlange schreiben:
In diesen Artikeln wird gezeigt, wie man aus einer Azure Service Bus-Warteschlange oder einem Topic heraus triggern kann.