Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Často vytváříte systémy, které reagují na řadu kritických událostí. Bez ohledu na to, jestli vytváříte webové rozhraní API, reagujete na změny databáze nebo zpracováváte streamy událostí nebo zprávy, můžete tyto systémy implementovat pomocí Azure Functions.
V mnoha případech se funkce integruje s řadou cloudových služeb , aby poskytovala implementace s bohatými funkcemi. Následující seznam ukazuje běžné (ale bez vyčerpávajícího) scénáře pro Azure Functions.
V horní části článku vyberte svůj vývojový jazyk.
Zpracování nahraných souborů
Funkce můžete použít několika způsoby ke zpracování souborů do nebo z kontejneru úložiště objektů blob. Další informace o možnostech spouštění v kontejneru objektů blob najdete v dokumentaci k osvědčeným postupům pracujete s objekty blob.
Například v maloobchodním řešení může partnerský systém odesílat informace o katalogu produktů jako soubory do úložiště typu blob. Funkci aktivovanou objektem blob můžete použít k ověření, transformaci a zpracování souborů do hlavního systému při jejich nahrání.
Následující tutoriály používají spouštěč Azure Blob (založený na Azure Event Grid) ke zpracování souborů v kontejneru Blob:
- Rychlý Start: Reakce na události úložiště Blobs pomocí Azure Functions
- Sample: Blob trigger s typem zdroje Event Grid
- Tutorial (události): Aktivace Azure Functions v kontejnerech objektů blob pomocí odběru událostí
- Tutorial (dotazování): Nahrání a analýza souboru pomocí Azure Functions a Blob Storage
Můžete například použít trigger objektu blob s odběrem událostí v kontejnerech objektů 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();
}
}
}
- Rychlý Start: Reakce na události úložiště Blobs pomocí Azure Functions
- Tutorial: Zpracování imagí pomocí FFmpeg na připojené sdílené složce Azure Files
- Sample: Blob trigger s typem zdroje Event Grid
- Sample: Zpracování obrázků FFmpeg s připojením úložiště Azure Files
- Tutorial: Aktivace Azure Functions u kontejnerů objektů blob pomocí odběru událostí
Zpracování datových proudů a událostí v reálném čase
Cloudové aplikace, zařízení IoT a síťová zařízení generují a shromažďují velké množství zákaznických dat. Azure Functions může tato data zpracovávat téměř v reálném čase pro rychlý přístup a pak je uložit do Azure Cosmos DB pro použití na analytickém řídicím panelu.
Vaše funkce můžou také používat triggery událostí s nízkou latencí, jako je Event Grid, a výstupy v reálném čase, jako je SignalR, ke zpracování dat téměř v reálném čase.
Trigger centra událostí můžete například použít ke čtení z centra událostí a výstupní vazby pro zápis do centra událostí po debatě a transformaci událostí:
[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: Streamování ve velkém měřítku pomocí Azure Event Hubs, funkcí a Azure SQL
- Sample: Streamování ve velkém měřítku s využitím Azure Event Hubs, Funkcí a Cosmos DB
- Ukázka: Streamování ve velkém s využitím Azure Event Hubs s producentem Kafka, Functions s triggerem Kafka a Cosmos DB
- Sample: Streamování ve velkém měřítku pomocí Azure IoT Hub, funkcí a Azure SQL
- Spouštěč Azure Event Hubs pro Azure Functions
- trigger Kafka Apache kafka pro Azure Functions
- Spouštěč Azure Event Hubs pro Azure Functions
- trigger Kafka Apache kafka pro Azure Functions
- Spouštěč Azure Event Hubs pro Azure Functions
- trigger Kafka Apache kafka pro Azure Functions
- Spouštěč Azure Event Hubs pro Azure Functions
- trigger Kafka Apache kafka pro Azure Functions
Strojové učení a AI
Azure Functions poskytuje bezserverové výpočetní prostředky, které se integrují s AI a službami Azure za účelem zjednodušení vytváření inteligentních aplikací hostovaných v cloudu. Programovací model Functions můžete použít k vytvoření a hostování vzdálených serverů MCP (Model Context Protocol) a implementaci různých nástrojů AI. Další informace naleznete v tématu Nástroje a servery MCP.
Rozšíření vazby Azure OpenAI umožňuje integrovat AI funkce a chování Azure OpenAI, jako je retrieval-augmented generation (RAG), do běhu kódu funkce. Další informace naleznete v tématu Generace rozšířená pomocí načítání.
Funkce může také volat model TensorFlow nebo Foundry Tools ke zpracování a klasifikaci datového proudu obrázků.
- Quickstart: Vytvoření vlastního vzdáleného serveru MCP pomocí Azure Functions
- Rychlý úvod: Hostování serverů vytvořených pomocí MCP SDK na Azure Functions
- Sample: Sestavení a nasazení vzdáleného serveru MCP pomocí Azure Functions
- Ukázka: Hostování vzdálených serverů MCP vytvořených pomocí oficiálních SDK sad MCP na Azure Functions.
- Quickstart: Vytvoření vlastního vzdáleného serveru MCP pomocí Azure Functions
- Rychlý úvod: Hostování serverů vytvořených pomocí MCP SDK na Azure Functions
- Sample: Sestavení a nasazení vzdáleného serveru MCP pomocí Azure Functions
- Ukázka: Hostování vzdálených serverů MCP vytvořených pomocí oficiálních SDK sad MCP na Azure Functions.
Další informace najdete v tématu Použití nástrojů a modelů AI v Azure Functions.
Spouštění naplánovaných úloh
Funkce umožňují spouštět váš kód na základě plánu cron, který definujete.
Další informace najdete v tématu Vytvořit funkci v Azure portálu, která běží podle rozvrhu.
Můžete například analyzovat databázi zákazníků finančních služeb s duplicitními položkami každých 15 minut, abyste se vyhnuli více komunikacím, které se budou shodovat se stejným zákazníkem.
Příklady najdete v těchto fragmentech kódu:
[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
}
Podívejte se na tento příklad:
Podívejte se na tento příklad:
Podívejte se na tento příklad:
Podívejte se na tento příklad:
Podívejte se na tento příklad:
Vytvoření škálovatelného webového rozhraní API
Funkce aktivovaná protokolem HTTP definuje koncový bod HTTP. Tyto koncové body spouští kód funkce, který se může připojit k jiným službám přímo nebo pomocí rozšíření vazeb. Můžete sestavit koncové body do webového API.
Koncový bod funkce aktivovaný protokolem HTTP můžete také použít jako integraci webových hooků, například webové hooky GitHubu. Tímto způsobem můžete vytvářet funkce, které zpracovávají data z GitHub událostí. Další informace najdete v Azure Functions HTTP trigger.
Příklady najdete v těchto fragmentech kódu:
[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();
}
Vytvoření bezserverového pracovního postupu
Funkce často slouží jako výpočetní komponenta v topologii bezserverového pracovního postupu, jako je pracovní postup Logic Apps. Pomocí rozšíření Durable Functions můžete také vytvářet dlouhotrvající orchestrace. Další informace najdete v tématu Durable Functions overview.
Podívejte se na tyto příklady:
Reakce na změny databáze
Některé procesy musí protokolovat, auditovat nebo provádět jiné operace při změnách uložených dat. Triggery funkcí poskytují dobrý způsob, jak získat oznámení o změnách dat při počáteční operaci.
Podívejte se na tyto příklady:
Vytváření spolehlivých systémů zpráv
Pomocí služby Functions s Azure zasílání zpráv můžete vytvářet pokročilá řešení zasílání zpráv řízená událostmi.
Triggery můžete například použít ve frontách Azure Storage jako způsob, jak zřetězit řadu spuštění funkcí. Nebo použijte fronty a spouštěče služby Service Bus pro online systém objednávek.
V těchto článcích se dozvíte, jak zapisovat výstup do fronty úložiště:
Tyto články ukazují, jak aktivovat z Azure Service Bus fronty nebo tématu.