Membuat fungsi pertama Anda di Azure Arc (pratinjau)
Dalam panduan mulai cepat ini, Anda akan membuat proyek Azure Functions dan menyebarkannya ke aplikasi fungsi yang berjalan pada kluster Kubernetes yang mendukung Azure Arc. Untuk mempelajari selengkapnya, lihat Layanan Aplikasi, Fungsi, dan Aplikasi Logika di Azure Arc. Skenario ini hanya mendukung aplikasi fungsi yang berjalan di Linux.
Catatan
Dukungan untuk menjalankan fungsi pada kluster Kube dengan dukungan Azure Arc saat ini sedang dalam pratinjau.
Pemublikasian proyek fungsi PowerShell ke kluster Kubernetes yang mendukung Azure Arc saat ini tidak didukung. Jika Anda perlu menyebarkan fungsi PowerShell ke kluster Kubernetes yang mendukung Azure Arc, buat aplikasi fungsi Anda dalam kontainer.
Jika Anda perlu menyesuaikan kontainer tempat aplikasi fungsi Anda berjalan, lihat Membuat fungsi kontainer pertama Anda di Azure Arc (pratinjau).
Prasyarat
Di komputer lokal:
- .NET 6.0 SDK
- Azure CLI versi 2.4 atau yang lebih baru
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.
Buat lingkungan Kubernetes App Service
Sebelum memulai, Anda harus membuat lingkungan Kubernetes App Service untuk kluster Kubernetes yang mendukung Azure Arc.
Catatan
Saat Anda membuat lingkungan, pastikan untuk mencatat nama lokasi kustom dan nama grup sumber daya yang berisi lokasi kustom. Anda dapat menggunakannya untuk menemukan ID lokasi kustom, yang akan Anda perlukan saat membuat aplikasi fungsi di lingkungan.
Jika Anda tidak membuat lingkungan, tanyakan kepada administrator kluster Anda.
Menambahkan ekstensi Azure CLI
Luncurkan lingkungan Bash di Azure Cloud Shell.
Karena perintah CLI ini belum menjadi bagian dari set CLI inti, tambahkan dengan perintah berikut:
az extension add --upgrade --yes --name customlocation
az extension remove --name appservice-kube
az extension add --upgrade --yes --name appservice-kube
Membuat proyek fungsi lokal
Di Azure Functions, proyek fungsi adalah unit penyebaran 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 bahasa umum yang ditentukan:func init LocalFunctionProj --dotnet
Navigasi ke folder proyek:
cd LocalFunctionProj
Folder ini berisi berbagai file untuk proyek, termasuk file konfigurasi bernama local.settings.json dan host.json. Secara default, file local.settings.json dikecualikan dari kontrol sumber dalam file .gitignore. Pengecualian ini dikarenakan file dapat berisi rahasia yang diunduh dari Azure.
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"
Jalankan fungsi secara lokal
Jalankan fungsi Anda dengan memulai host runtime Azure Functions lokal dari folder LocalFunctionProj.
func start
Menjelang akhir output, baris berikut harus muncul:
Catatan
Jika HttpExample tidak muncul seperti yang ditunjukkan di atas, Anda mungkin memulai hosting dari luar folder akar proyek. Dalam kasus tersebut, gunakan Ctrl+C untuk menghentikan hosting, buka folder akar proyek, dan jalankan kembali perintah sebelumnya.
Salin URL fungsi HTTP Anda dari output ini ke browser dan tambahkan string
?name=<YOUR_NAME>
kueri , membuat URL lengkap sepertihttp://localhost:7071/api/HttpExample?name=Functions
. Browser akan menampilkan pesan tanggapan yang mengulang nilai string kueri Anda. Terminal tempat Anda memulai proyek juga menunjukkan output log saat Anda membuat permintaan.Jika sudah selesai, tekan Ctrl + C dan ketik
y
untuk menghentikan hosting fungsi.
Mendapatkan lokasi kustom
Agar dapat membuat aplikasi fungsi di lokasi kustom, Anda harus mendapatkan informasi tentang lingkungan.
Dapatkan informasi berikut tentang lokasi kustom dari admin kluster (lihat Membuat lokasi kustom).
customLocationGroup="<resource-group-containing-custom-location>"
customLocationName="<name-of-custom-location>"
Dapatkan ID lokasi kustom untuk langkah berikutnya.
customLocationId=$(az customlocation show \
--resource-group $customLocationGroup \
--name $customLocationName \
--query id \
--output tsv)
Membuat sumber daya Azure
Sebelum dapat menyebarkan kode fungsi ke lingkungan App Service Kubernetes baru, Anda harus membuat dua sumber daya lainnya:
- Akun penyimpanan. Meskipun artikel ini membuat akun penyimpanan, dalam beberapa kasus akun penyimpanan mungkin tidak diperlukan. Untuk informasi selengkapnya, lihat kluster yang dengan dukungan Azure Arc di artikel pertimbangan penyimpanan.
- Aplikasi fungsi, yang menyediakan konteks untuk menjalankan kode fungsi Anda. Aplikasi fungsi berjalan di lingkungan App Service Kubernetes dan dipetakan ke proyek fungsi lokal Anda. Aplikasi fungsi memungkinkan Anda untuk mengelompokkan fungsi sebagai unit logis untuk manajemen, penyebaran, dan berbagi sumber daya yang lebih mudah.
Catatan
Aplikasi fungsi berjalan di lingkungan App Service Kubernetes pada paket Khusus (App Service). Saat Anda membuat aplikasi fungsi tanpa paket yang ada, paket yang benar akan dibuat untuk Anda.
Membuat Akun penyimpanan
Gunakan perintah az storage account create untuk membuat akun penyimpanan dengan tujuan umum di grup dan wilayah sumber daya Anda:
az storage account create --name <STORAGE_NAME> --location westeurope --resource-group myResourceGroup --sku Standard_LRS
Catatan
Dalam beberapa kasus, akun penyimpanan mungkin tidak diperlukan. Untuk informasi selengkapnya, lihat kluster yang dengan dukungan Azure Arc di artikel pertimbangan 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. Nilai --location
merupakan wilayah Azure standar.
Buat aplikasi fungsi
Jalankan perintah buat functionapp az untuk membuat aplikasi fungsi baru di lingkungan.
az functionapp create --resource-group MyResourceGroup --name <APP_NAME> --custom-location <CUSTOM_LOCATION_ID> --storage-account <STORAGE_NAME> --functions-version 4 --runtime dotnet
Dalam contoh ini, ganti <CUSTOM_LOCATION_ID>
dengan ID lokasi kustom yang Anda tentukan untuk lingkungan App Service Kubernetes. Selain itu, ganti <STORAGE_NAME>
dengan nama akun yang Anda gunakan di langkah sebelumnya, dan ganti <APP_NAME>
dengan nama unik global yang sesuai untuk Anda.
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
Karena perlu beberapa waktu agar penyebaran penuh untuk diselesaikan pada kluster Kubernetes dengan dukungan Azure Arc, Anda mungkin ingin menjalankan kembali perintah berikut untuk memverifikasi fungsi yang dipublikasikan:
func azure functionapp list-functions
Menggunakan fungsi pada Azure
Karena fungsi Anda menggunakan pemicu HTTP, Anda memanggilnya dengan membuat permintaan HTTP ke URL-nya di browser atau dengan alat seperti curl.
Salin Panggilan URL lengkap yang ditampilkan dalam output perintah terbitkan ke bilah alamat browser, menambahkan parameter kueri ?name=Functions
. Browser harus menampilkan output yang sama seperti saat Anda menjalankan fungsi secara lokal.
Langkah berikutnya
Setelah aplikasi fungsi berjalan di kontainer pada lingkungan App Service Kube dengan dukungan Azure Arc, Anda dapat menyambungkannya ke Azure Storage dengan menambahkan pengikatan output Queue Storage.