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 k implementaci těchto systémů použít 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ávání.
Následující kurzy používají iniciátor pro objekty blob (založený na Event Gridu) ke zpracování souborů v kontejneru pro objekty blob.
Například použijte blob trigger s odběrem událostí na kontejnerech 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ý průvodce: Reakce na události úložiště BLOB pomocí Azure Functions
- Ukázka: Trigger objektu blob s ukázkou rychlého startu typu zdroje služby Event Grid)
- Kurz (události): Aktivace azure Functions v kontejnerech objektů blob pomocí odběru událostí
- Kurz (dotazování): Nahrání a analýza souboru se službou Azure Functions a Blob Storage
- Začínáme rychle: Reakce na události úložiště objektů blob pomocí Azure Functions
- Ukázka: Trigger objektu blob s ukázkou rychlého startu typu zdroje služby Event Grid)
- Kurz (události): Aktivace azure Functions v kontejnerech objektů blob pomocí odběru událostí
- Kurz (dotazování): Nahrání a analýza souboru se službou Azure Functions a Blob Storage
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í telemetrie. Služba Azure Functions může tato data zpracovávat téměř v reálném čase jako prioritní cesta a pak je ukládat do služby Azure Cosmos DB pro použití na analytické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);
}
- Streamování ve velkém měřítku s využitím služby Azure Event Hubs, Functions a Azure SQL
- Streamování ve velkém měřítku s využitím služby Azure Event Hubs, Functions a Cosmos DB
- Streamování ve velkém měřítku se službou Azure Event Hubs s producentem Kafka, službami Functions s triggerem Kafka a cosmos DB
- Streamování ve velkém měřítku s využitím Azure IoT Hubu, Functions a Azure SQL
- Trigger služby Azure Event Hubs pro Azure Functions
- Trigger 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, aby se zjednodušily 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 Content 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 funkce a chování umělé inteligence služby Azure OpenAI, jako je generování s podporou načítání dat (RAG), do provádění vašich funkcí kódu. Další informace naleznete v tématu Generace rozšířená pomocí načítání.
Funkce může také volat model TensorFlow nebo služby Azure AI ke zpracování a klasifikaci datového proudu obrázků.
- Rychlý start: Vytvoření vlastního vzdáleného serveru MCP pomocí Azure Functions
- Rychlý začátek: Hostování serverů s využitím sad MCP SDK na službě Azure Functions
- Ukázka: Začínáme se vzdálenými servery MCP pomocí Azure Functions
- Ukázka: Hostování vzdálených serverů MCP vytvořených s oficiálními sadami MCP SDK ve službě Azure Functions
- Rychlý start: Vytvoření vlastního vzdáleného serveru MCP pomocí Azure Functions
- Rychlý začátek: Hostování serverů s využitím sad MCP SDK na službě Azure Functions
- Ukázka: Začínáme se vzdálenými servery MCP pomocí Azure Functions
- Ukázka: Hostování vzdálených serverů MCP vytvořených s oficiálními sadami MCP SDK ve službě Azure Functions
Další informace najdete v tématu Použití nástrojů a modelů AI ve službě 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.
Viz Vytvoření funkce na webu Azure Portal, která běží podle plánu.
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
}
Vytvoření škálovatelného webového rozhraní API
Aktivovaná funkce 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 použít také jako integraci webhooku, jako jsou webhooky GitHubu. Tímto způsobem můžete vytvářet funkce, které zpracovávají data z událostí GitHubu. Další informace najdete v tématu Monitorování událostí GitHubu pomocí webhooku se službou Azure Functions.
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();
}
- Rychlý průvodce: Spouštěč HTTP služby Azure Functions
- Článek: Vytváření bezserverových rozhraní API v sadě Visual Studio pomocí azure Functions a integrace služby API Management
- Školení: Zveřejnění více aplikací funkcí jako konzistentního rozhraní API pomocí služby Azure API Management
- Ukázka: Webová aplikace s rozhraním API jazyka C# a službou Azure SQL DB ve statických webových aplikacích a funkcích
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 – přehled.
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í funkcí se službami zasílání zpráv Azure 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 fronty nebo tématu služby Azure Service Bus.