Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Gyakran olyan rendszereket hoz létre, amelyek kritikus események sorozatára reagálnak. Akár webes API-t hoz létre, válaszol az adatbázis változásaira, vagy feldolgoz egy eseménystreamet vagy üzenetet, az Azure Functions használatával implementálhatja ezeket a rendszereket.
A függvények sok esetben integrálhatók a felhőszolgáltatások tömbjével, így funkciógazdag implementációkat biztosítanak. Az alábbi lista az Azure Functions gyakori (de egyáltalán nem teljes) forgatókönyveit mutatja be.
Válassza ki a fejlesztési nyelvet a cikk tetején.
Fájlfeltöltések feldolgozása
A függvényekkel többféleképpen is feldolgozhatja a fájlokat egy blobtárolóba vagy onnan kifelé. Ha többet szeretne megtudni a blobtárolók aktiválási lehetőségeiről, tekintse meg a blobok használatát az ajánlott eljárások dokumentációjában.
Egy kereskedelmi megoldásban például a partnerrendszer fájlként küldheti el a termékkatalógus adatait a Blob Storage-ba. A blob által aktivált függvény használatával ellenőrizheti, átalakíthatja és feldolgozhatja a fájlokat a fő rendszerbe feltöltéskor.
Az alábbi oktatóanyagok egy Blob-eseményindítót (Event Grid-alapú) használnak a blobtárolóban lévő fájlok feldolgozásához:
Használja például a blob-eseményindítót egy esemény-előfizetéssel a blobtárolókon:
[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();
}
}
}
- Rövid útmutató: Blob Storage-események megválaszolása az Azure Functions használatával
- Példa: Blob-eseményindító az Event Grid forrástípusú gyorsútmutató-mintával)
- Oktatóanyag (események): Azure Functions aktiválása blobtárolókon esemény-előfizetés használatával
- Oktatóanyag (lekérdezés): Fájl feltöltése és elemzése az Azure Functions és a Blob Storage használatával
- Rövid útmutató: Blob Storage-események megválaszolása az Azure Functions használatával
- Példa: Blob-eseményindító az Event Grid forrástípusú gyorsútmutató-mintával)
- Oktatóanyag (események): Azure Functions aktiválása blobtárolókon esemény-előfizetés használatával
- Oktatóanyag (lekérdezés): Fájl feltöltése és elemzése az Azure Functions és a Blob Storage használatával
Valós idejű stream- és eseményfeldolgozás
A felhőalkalmazások, az IoT-eszközök és a hálózati eszközök nagy mennyiségű telemetriát hoznak létre és gyűjtenek össze. Az Azure Functions a gyakori elérésű útvonalként közel valós időben feldolgozhatja ezeket az adatokat, majd az Azure Cosmos DB-ben tárolhatja azokat egy elemzési irányítópulton való használatra.
A függvények alacsony késésű eseményindítókat is használhatnak, például az Event Gridet, valamint valós idejű kimeneteket, például a SignalR-t az adatok közel valós idejű feldolgozásához.
Például használhatja az eseményközpont triggerét az események olvasására egy eseményközpontból, valamint a kimeneti kötést az események írására egy eseményközpontba, miután azokat szétválasztotta és átalakította.
[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);
}
- Streamelés nagy méretekben az Azure Event Hubs, a Functions és az Azure SQL használatával
- Streamelés nagy méretekben az Azure Event Hubs, a Functions és a Cosmos DB használatával
- Nagy léptékű streamelés az Azure Event Hubs szolgáltatással, Kafka producerrel, Functions rendszerrel Kafka triggerrel és Cosmos DB-vel
- Streamelés nagy méretekben az Azure IoT Hub, a Functions és az Azure SQL használatával
- Azure Event Hubs-eseményindító az Azure Functionshez
- Apache Kafka-eseményindító az Azure Functionshez
Gépi tanulás és mesterséges intelligencia
Az Azure Functions kiszolgáló nélküli számítási erőforrásokat biztosít, amelyek integrálhatók az AI-vel és az Azure-szolgáltatásokkal a felhőalapú intelligens alkalmazások létrehozásának egyszerűsítése érdekében. A Functions programozási modell használatával távoli Model Content Protocol -kiszolgálókat hozhat létre és üzemeltethet, és különböző AI-eszközöket implementálhat. További információ: Eszközök és MCP-kiszolgálók.
Az Azure OpenAI kötésbővítményével integrálhatja az Azure OpenAI szolgáltatás AI-funkcióit és viselkedését, például a lekéréses kiegészítésű generációt (RAG) a függvénykódvégrehajtásokba. További információért lásd: Keresés-kibővített generálás.
A függvények tensorFlow-modellt vagy Azure AI-szolgáltatásokat is meghívhatnak a rendszerkép-adatfolyamok feldolgozásához és besorolásához.
- Rövid útmutató: Egyéni távoli MCP-kiszolgáló létrehozása az Azure Functions használatával
- Gyorskezdés: MCP SDK-kkal készült, Azure Functionsön futó gazdagépkiszolgálók
- Példa: A távoli MCP-kiszolgálók használatának első lépései az Azure Functions használatával
- Példa: Az Azure Functions hivatalos MCP SDK-jaival készült távoli MCP-kiszolgálók üzemeltetésére
- Rövid útmutató: Egyéni távoli MCP-kiszolgáló létrehozása az Azure Functions használatával
- Rövid útmutató: MCP SDK-kkal készült szerverek üzemeltetése az Azure Functions szolgáltatásban
- Példa: A távoli MCP-kiszolgálók használatának első lépései az Azure Functions használatával
- Példa: Az Azure Functions hivatalos MCP SDK-jaival készült távoli MCP-kiszolgálók üzemeltetésére
További információ: AI-eszközök és modellek használata az Azure Functionsben.
Ütemezett tevékenységek futtatása
A Functions lehetővé teszi a kód futtatását egy ön által meghatározott cron-ütemezés alapján.
Lásd: Függvény létrehozása az Azure Portalon, amely ütemezés szerint fut.
Elemezhet például egy pénzügyi szolgáltatási ügyféladatbázist, amely 15 percenként ismétlődő bejegyzéseket tartalmaz, így elkerülheti, hogy több kommunikáció is egyazon ügyfél felé haladjon.
Ilyenek például az alábbi kódrészletek:
[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
}
Méretezhető webes API létrehozása
A HTTP által aktivált függvény http-végpontot határoz meg. Ezek a végpontok olyan függvénykódot futtatnak, amely közvetlenül vagy kötésbővítmények használatával tud csatlakozni más szolgáltatásokhoz. A végpontokat webes API-ba írhatja.
A HTTP által aktivált függvényvégpontot webhook-integrációként is használhatja, például a GitHub webhookokat. Ily módon olyan függvényeket hozhat létre, amelyek adatokat dolgoznak fel a GitHub-eseményekből. További információ: GitHub-események monitorozása webhook használatával az Azure Functions használatával.
Ilyenek például az alábbi kódrészletek:
[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();
}
- Rövid útmutató: Azure Functions HTTP-eseményindító
- Cikk: Kiszolgáló nélküli API-k létrehozása a Visual Studióban az Azure Functions és az API Management integrációja használatával
- Oktatás: Több függvényalkalmazás megjelenítése konzisztens API-ként az Azure API Management használatával
- Minta: Webalkalmazás C# API-val és Azure SQL DB-vel statikus webalkalmazásokon és függvényeken
Kiszolgáló nélküli munkafolyamat létrehozása
A függvények gyakran szolgálnak számítási összetevőként egy kiszolgáló nélküli munkafolyamat-topológiában, például egy Logic Apps-munkafolyamatban. A Durable Functions bővítmény használatával hosszú élettartamú vezényléseket is létrehozhat. További információ: Durable Functions – áttekintés.
Az adatbázis változásainak megválaszolása
Egyes folyamatoknak naplózniuk, auditálniuk vagy más műveleteket kell végrehajtaniuk a tárolt adatok módosításakor. A függvények eseményindítói jó módot nyújtanak arra, hogy értesítést kapjon az adatváltozásokról egy ilyen művelet elindításához.
Vegye figyelembe az alábbi példákat:
Megbízható üzenetrendszerek létrehozása
A Functions és az Azure üzenetkezelési szolgáltatások segítségével speciális eseményvezérelt üzenetkezelési megoldásokat hozhat létre.
Például az Azure Storage-üzenetsorok eseményindítóit használhatja a függvényvégrehajtások sorozatának összeláncolási módjaként. Vagy használjon service bus-üzenetsorokat és eseményindítókat egy online rendelési rendszerhez.
Ezek a cikkek bemutatják, hogyan írhat kimenetet egy tárolási üzenetsorba:
Ezek a cikkek bemutatják, hogyan aktiválható egy Azure Service Bus-üzenetsorból vagy -témakörből.