Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Seringkali, Anda membangun sistem yang bereaksi terhadap serangkaian peristiwa penting. Baik Anda membuat API web, menanggapi perubahan database, atau memproses aliran peristiwa atau pesan, Anda dapat menggunakan Azure Functions untuk menerapkan sistem ini.
Dalam banyak kasus, fungsi terintegrasi dengan berbagai layanan cloud untuk menyediakan penerapan yang kaya akan fitur. Daftar berikut menunjukkan skenario umum (tetapi tidak berarti lengkap) untuk Azure Functions.
Pilih bahasa pengembangan Anda di bagian atas artikel.
Memproses unggahan file
Anda dapat menggunakan fungsi dalam beberapa cara untuk memproses file ke dalam atau di luar kontainer penyimpanan blob. Untuk mempelajari selengkapnya tentang opsi pemicu pada kontainer blob, lihat Bekerja dengan blob dalam dokumentasi praktik terbaik.
Misalnya, dalam solusi ritel, sistem mitra dapat mengirimkan informasi katalog produk sebagai file ke penyimpanan blob. Anda dapat menggunakan fungsi yang dipicu blob untuk memvalidasi, mengubah, dan memproses file ke dalam sistem utama saat Anda mengunggahnya.
Tutorial berikut menggunakan pemicu Blob (berbasis Event Grid) untuk memproses file dalam kontainer blob:
Misalnya, gunakan pemicu blob dengan langganan peristiwa pada kontainer 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();
}
}
}
- Mulai cepat: Merespons peristiwa penyimpanan blob dengan menggunakan Azure Functions
- Sampel: Pemicu blob dengan sampel mulai cepat jenis sumber Event Grid)
- Tutorial (peristiwa): Memicu Azure Functions pada kontainer blob menggunakan langganan peristiwa
- Tutorial (polling): Mengunggah dan menganalisis file dengan Azure Functions dan Blob Storage
- Panduan Singkat: Merespons peristiwa penyimpanan blob dengan menggunakan Azure Functions
- Sampel: Pemicu blob dengan sampel mulai cepat jenis sumber Event Grid)
- Tutorial (peristiwa): Memicu Azure Functions pada kontainer blob menggunakan langganan peristiwa
- Tutorial (polling): Mengunggah dan menganalisis file dengan Azure Functions dan Blob Storage
Aliran real time dan pemrosesan peristiwa
Aplikasi cloud, perangkat IoT, dan perangkat jaringan menghasilkan dan mengumpulkan sejumlah besar telemetri. Azure Functions dapat memproses data tersebut dalam hampir waktu nyata sebagai jalur cepat, lalu menyimpannya di Azure Cosmos DB untuk digunakan pada dasbor analitik.
Fungsi Anda juga dapat menggunakan pemicu peristiwa latensi rendah, seperti Event Grid, dan keluaran waktu nyata seperti SignalR untuk memproses data hampir waktu nyata.
Misalnya, Anda dapat menggunakan pemicu pusat aktivitas untuk membaca dari pusat aktivitas dan pengikatan output untuk menulis ke pusat aktivitas setelah berdebat dan mengubah peristiwa:
[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 dalam skala besar dengan Azure Event Hubs, Azure Functions, dan Azure SQL
- Streaming dalam skala besar dengan Azure Event Hubs, Functions, dan Cosmos DB
- Streaming berskala besar dengan Azure Event Hubs menggunakan produser Kafka, Functions dengan pemicu Kafka, dan Cosmos DB
- Streaming dalam skala besar dengan Azure IoT Hub, Functions, dan Azure SQL
- Pemicu Azure Event Hubs untuk Azure Functions
- Pemicu Apache Kafka untuk Azure Functions
Pembelajaran mesin dan AI
Azure Functions menyediakan sumber daya komputasi tanpa server yang terintegrasi dengan layanan AI dan Azure untuk menyederhanakan pembangunan aplikasi cerdas yang dihosting cloud. Anda dapat menggunakan model pemrograman Functions untuk membuat dan menghosting server Protokol Konten Model jarak jauh (MCP) dan menerapkan berbagai alat AI. Untuk informasi selengkapnya, lihat Alat dan server MCP.
Ekstensi pengikatan Azure OpenAI memungkinkan Anda mengintegrasikan fitur dan perilaku AI dari layanan Azure OpenAI, seperti retrieval-augmented generation (RAG) yang memperkuat pengambilan data, ke dalam eksekusi kode fungsi Anda. Untuk informasi selengkapnya, lihat Generasi Berbantu Pengambilan.
Fungsi mungkin juga memanggil model TensorFlow atau layanan Azure AI untuk memproses dan mengklasifikasikan aliran gambar.
- Mulai cepat: Membangun server MCP jarak jauh kustom menggunakan Azure Functions
- Panduan Memulai Cepat: Hosting server yang dibangun dengan MCP SDK pada Azure Functions
- Sampel: Memulai Server MCP Jarak Jauh menggunakan Azure Functions
- Sampel: Menghosting server MCP jarak jauh yang dibangun dengan SDK MCP resmi di Azure Functions
- Mulai cepat: Membangun server MCP jarak jauh kustom menggunakan Azure Functions
- Panduan Memulai Cepat: Hosting server yang dibangun dengan MCP SDK pada Azure Functions
- Sampel: Memulai Server MCP Jarak Jauh menggunakan Azure Functions
- Sampel: Menghosting server MCP jarak jauh yang dibangun dengan SDK MCP resmi di Azure Functions
Untuk informasi selengkapnya, lihat Menggunakan alat dan model AI di Azure Functions.
Jalankan tugas terjadwal
Functions memungkinkan Anda menjalankan kode berdasarkan jadwal cron yang Anda tentukan.
Lihat Membuat fungsi di portal Microsoft Azure yang berjalan sesuai jadwal.
Misalnya, Anda dapat menganalisis database pelanggan layanan keuangan untuk entri duplikat setiap 15 menit untuk menghindari beberapa komunikasi yang keluar ke pelanggan yang sama.
Misalnya, lihat cuplikan kode ini:
[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
}
Membangun API web yang dapat diskalakan
Fungsi yang dipicu HTTP menentukan titik akhir HTTP. Titik akhir ini menjalankan kode fungsi yang dapat terhubung ke layanan lain secara langsung atau dengan menggunakan ekstensi pengikatan. Anda dapat menyusun titik akhir ke dalam API berbasis web.
Anda juga dapat menggunakan titik akhir fungsi yang dipicu HTTP sebagai integrasi webhook, seperti webhook GitHub. Dengan cara ini, Anda dapat membuat fungsi yang memproses data dari peristiwa GitHub. Untuk informasi selengkapnya, lihat Memantau peristiwa GitHub dengan menggunakan webhook dengan Azure Functions.
Misalnya, lihat cuplikan kode ini:
[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();
}
- Mulai cepat: Pemicu HTTP Azure Functions
- Artikel: Membuat API tanpa server di Visual Studio menggunakan Azure Functions dan integrasi API Management
- Pelatihan: Mengekspos beberapa aplikasi fungsi sebagai API yang konsisten dengan menggunakan Azure API Management
- Sampel: Aplikasi web dengan C# API dan Azure SQL DB di Static Web Apps and Functions
Bangun alur kerja tanpa server
Fungsi sering berfungsi sebagai komponen komputasi dalam topologi alur kerja tanpa server, seperti alur kerja Logic Apps. Anda juga dapat membuat orkestrasi yang berjalan lama dengan menggunakan ekstensi Durable Functions. Untuk informasi selengkapnya, lihat Gambaran Umum Durable Functions.
Merespons perubahan database
Beberapa proses perlu mencatat, mengaudit, atau melakukan operasi lain saat data tersimpan berubah. Pemicu fungsi memberikan cara yang baik untuk mendapatkan pemberitahuan tentang perubahan data pada operasi awal seperti itu.
Pertimbangkan contoh berikut:
Membuat sistem pesan yang andal
Anda dapat menggunakan Functions dengan layanan olahpesan Azure untuk membuat solusi olahpesan berbasis peristiwa tingkat lanjut.
Misalnya, Anda dapat menggunakan pemicu pada antrean Azure Storage sebagai cara untuk menyatukan serangkaian eksekusi fungsi. Atau gunakan antrean dan pemicu bus layanan untuk sistem pemesanan online.
Artikel ini menunjukkan cara menulis output ke antrean penyimpanan:
Artikel-artikel ini menunjukkan cara memicu berdasarkan antrean atau topik Azure Service Bus.