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.
Dalam artikel ini, Anda menggunakan alat baris perintah untuk membuat fungsi C# yang merespons permintaan. Setelah menguji kode secara lokal, sebarkan kode ke lingkungan tanpa server Azure Functions.
Artikel ini membuat fungsi yang dipicu HTTP yang berjalan pada .NET 8 dalam proses pekerja yang terisolasi. Untuk informasi tentang versi .NET yang didukung untuk fungsi C#, lihat Versi yang didukung. Terdapat juga Versi berbasis Visual Studio Code dari artikel ini.
Menyelesaikan panduan mulai cepat ini dikenakan biaya kecil hanya beberapa sen USD atau bahkan kurang pada akun Azure Anda.
Mengonfigurasi lingkungan lokal Anda
Sebelum memulai, Anda harus memiliki:
Salah satu alat berikut untuk membuat sumber daya Azure:
Modul Az PowerShell versi 5.9.0 atau yang lebih baru.
Anda juga memerlukan akun Azure dengan langganan aktif. Buat akun secara gratis.
Instal Azure Functions Core Tools
Cara yang disarankan untuk menginstal Core Tools tergantung pada sistem operasi komputer pengembangan lokal Anda.
Langkah-langkah berikut menggunakan penginstal Windows (MSI) untuk menginstal Core Tools v4.x. Untuk informasi selengkapnya tentang penginstal berbasis paket lainnya, lihat Core Tools readme.
Unduh dan jalankan penginstal Core Tools, berdasarkan versi Windows Anda:
- v4.x - Windows 64-bit (Disarankan. penelusuran kesalahan Visual Studio Code memerlukan 64-bit.)
- v4.x - Windows 32-bit
Jika sebelumnya Anda menggunakan penginstal Windows (MSI) untuk menginstal Core Tools di Windows, Anda harus menghapus instalan versi lama dari Tambahkan Hapus Program sebelum menginstal versi terbaru.
Membuat proyek fungsi lokal
Di Azure Functions, proyek fungsi adalah kontainer untuk satu atau beberapa fungsi individual yang masing-masing merespons pemicu tertentu. Semua fungsi dalam proyek memiliki konfigurasi lokal dan hosting yang sama. Di bagian ini, Anda membuat proyek fungsi yang berisi satu fungsi.
Jalankan perintah
func init
sebagai berikut untuk membuat proyek fungsi dalam folder bernama LocalFunctionProj dengan runtime yang ditentukan.func init LocalFunctionProj --worker-runtime dotnet-isolated --target-framework net8.0
Navigasi ke folder proyek:
cd LocalFunctionProj
Folder ini berisi berbagai file untuk proyek, termasuk file konfigurasi bernama local.settings.json dan host.json. Karena local.settings.json dapat berisi rahasia yang diunduh dari Azure, file dikecualikan dari kontrol sumber secara default dalam file .gitignore.
Tambahkan fungsi ke proyek Anda dengan menggunakan perintah berikut, yang mana argumen
--name
adalah nama unik fungsi Anda (HttpExample) dan argumen--template
menentukan pemicu fungsi (HTTP).func new --name HttpExample --template "HTTP trigger" --authlevel "anonymous"
func new
membuat file kode HttpExample.cs.
(Opsional) Memeriksa isi file
Jika diinginkan, Anda dapat melompat ke Menjalankan fungsi secara lokal dan memeriksa isi file nanti.
HttpExample.cs
HttpExample.cs berisi Run
metode yang menerima data permintaan dalam req
variabel sebagai objek HttpRequest. Parameter tersebut dihiasi dengan HttpTriggerAttribute, untuk menentukan perilaku pemicu.
using System.Net;
using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.Logging;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace Company.Function
{
public class HttpExample
{
private readonly ILogger<HttpExample> _logger;
public HttpExample(ILogger<HttpExample> logger)
{
_logger = logger;
}
[Function("HttpExample")]
public IActionResult Run([HttpTrigger(AuthorizationLevel.AuthLevelValue, "get", "post")] HttpRequest req)
{
_logger.LogInformation("C# HTTP trigger function processed a request.");
return new OkObjectResult("Welcome to Azure Functions!");
}
}
}
Objek pengembalian adalah objek IActionResult yang berisi data yang diserahkan kembali ke respons HTTP.
Untuk mempelajari lebih lanjut, lihat Pemicu dan pengikatan HTTP Azure Functions.
Jalankan fungsi secara lokal
Jalankan fungsi Anda dengan memulai host runtime Azure Functions lokal dari folder LocalFunctionProj:
func start
Menjelang akhir output, baris berikut akan muncul:
... Now listening on: http://0.0.0.0:7071 Application started. Press Ctrl+C to shut down. Http Functions: HttpExample: [GET,POST] http://localhost:7071/api/HttpExample ...
Catatan
Jika HttpExample tidak muncul seperti yang ditunjukkan di atas, Anda mungkin memulai hosting dari luar folder akar proyek. Dalam kasus ini, gunakan Ctrl+C untuk menghentikan hosting, navigasi ke folder akar proyek, dan jalankan perintah sebelumnya lagi.
Salin URL fungsi Anda
HttpExample
dari output ini ke browser dan telusuri ke URL fungsi dan Anda akan menerima pesan Selamat Datang di Azure Functions .Jika sudah selesai, gunakan Ctrl+C dan pilih
y
untuk menghentikan hosting fungsi.
Membuat sumber daya Azure pendukung untuk fungsi Anda
Sebelum dapat menyebarkan kode fungsi ke Azure, Anda perlu membuat tiga sumber daya:
- Grup sumber daya, yang merupakan kontainer logis untuk sumber daya terkait.
- Akun penyimpanan, yang digunakan untuk mempertahankan status dan informasi lain tentang fungsi Anda.
- Aplikasi fungsi, menyediakan lingkungan untuk menjalankan kode fungsi Anda. Aplikasi fungsi memetakan proyek fungsi lokal Anda dan memungkinkan Anda mengelompokkan fungsi sebagai unit logis untuk pengelolaan, penyebaran, dan berbagi sumber daya yang lebih mudah.
Gunakan perintah berikut untuk membuat item ini. Azure CLI dan PowerShell didukung.
Jika Anda belum melakukannya, masuk ke Azure:
az login
Perintah az login memasukkan Anda ke akun Azure Anda.
Buat grup sumber daya bernama
AzureFunctionsQuickstart-rg
di wilayah yang Anda pilih:az group create --name AzureFunctionsQuickstart-rg --location <REGION>
Perintah az group create membuat grup sumber daya. Dalam perintah di atas, ganti
<REGION>
dengan wilayah yang dekat dengan wilayah Anda, dan menggunakan kode wilayah yang tersedia yang ditampilkan dari perintah lokasi daftar akun az.Buat akun penyimpanan tujuan umum di grup sumber daya dan wilayah Anda:
az storage account create --name <STORAGE_NAME> --location <REGION> --resource-group AzureFunctionsQuickstart-rg --sku Standard_LRS --allow-blob-public-access false
Perintah az storage account create membuat akun penyimpanan.
Di contoh sebelumnya, ganti
<STORAGE_NAME>
dengan nama yang sesuai untuk Anda dan unik di Azure Storage. Nama harus berisi tiga hingga 24 karakter angka dan huruf kecil saja.Standard_LRS
menentukan akun tujuan umum, yang didukung oleh Functions.
Penting
Akun penyimpanan digunakan untuk menyimpan data aplikasi penting, terkadang termasuk kode aplikasi itu sendiri. Anda harus membatasi akses dari aplikasi dan pengguna lain ke akun penyimpanan.
Buat aplikasi fungsi di Azure:
az functionapp create --resource-group AzureFunctionsQuickstart-rg --consumption-plan-location <REGION> --runtime dotnet-isolated --functions-version 4 --name <APP_NAME> --storage-account <STORAGE_NAME>
Perintah az functionapp create membuat aplikasi fungsi di Azure.
Dalam contoh sebelumnya, ganti
<STORAGE_NAME>
dengan nama akun yang Anda gunakan di langkah sebelumnya, dan ganti<APP_NAME>
dengan nama unik global yang sesuai untuk Anda.<APP_NAME>
juga merupakan domain DNS default untuk aplikasi fungsi.Perintah ini membuat aplikasi fungsi yang berjalan dalam runtime bahasa pilihan Anda di bawah Paket Konsumsi Azure Functions, yang gratis untuk tingkat penggunaan yang Anda gunakan di sini. Perintah ini juga membuat instans Azure Application Insights terkait dalam grup sumber daya yang sama, yang dengannya Anda dapat memantau aplikasi fungsi dan melihat log. Untuk informasi lebih lanjut, lihat Monitor Azure Functions. Instance tidak dikenakan biaya apapun sampai Anda mengaktifkannya.
Menyebarkan proyek fungsi ke Azure
Setelah berhasil membuat aplikasi fungsi di Azure, Anda sekarang siap untuk menyebarkan proyek fungsi lokal dengan menggunakan func azure functionapp publish
perintah .
Di folder proyek akar Anda, jalankan perintah ini func azure functionapp publish
:
func azure functionapp publish <APP_NAME>
Dalam contoh ini, ganti <APP_NAME>
dengan nama aplikasi Anda. Penyebaran yang berhasil menunjukkan hasil yang mirip dengan output berikut (dipotong untuk kesederhanaan):
... Getting site publishing info... Creating archive for current directory... Performing remote build for functions project. ... Deployment successful. Remote build succeeded! Syncing triggers... Functions in msdocs-azurefunctions-qs: HttpExample - [httpTrigger] Invoke url: https://msdocs-azurefunctions-qs.azurewebsites.net/api/httpexample
Menggunakan fungsi pada Azure
Karena fungsi Anda menggunakan pemicu HTTP dan mendukung permintaan GET, Anda memanggilnya dengan membuat permintaan HTTP ke URL-nya. Melakukan tindakan ini di browser adalah cara yang paling mudah.
Salin URL Panggilan lengkap yang ditampilkan dalam output perintah penerbitan ke bar alamat browser. Ketika Anda membuka URL ini, browser akan menampilkan output yang sama seperti saat Anda menjalankan fungsi secara lokal.
Jalankan perintah berikut untuk melihat log yang di-streaming secara hampir real-time.
func azure functionapp logstream <APP_NAME>
Di jendela terminal terpisah atau di browser, panggil lagi fungsi jarak jauh. Log terperinci dari eksekusi fungsi di Azure ditampilkan di terminal.
Membersihkan sumber daya
Jika Anda melanjutkan ke langkah berikutnya dan menambahkan pengikatan output antrean Azure Storage, biarkan semua sumber daya Anda tetap ada saat Anda akan melanjutkan apa yang telah Anda kerjakan.
Jika tidak, gunakan perintah berikut untuk menghapus grup sumber daya dan semua sumber daya yang terkandung untuk menghindari timbulnya biaya lebih lanjut.
az group delete --name AzureFunctionsQuickstart-rg