Mengelola aplikasi fungsi Anda

Di Azure Functions, aplikasi fungsi menyediakan konteks eksekusi untuk fungsi individual Anda. Perilaku aplikasi fungsi berlaku untuk semua fungsi yang dihosting oleh aplikasi fungsi tertentu. Semua fungsi dalam aplikasi fungsi harus menggunakan bahasa yang sama.

Fungsi individual dalam aplikasi fungsi disebarkan bersama-sama dan diskalakan bersama-sama. Semua fungsi dalam aplikasi fungsi yang sama berbagi sumber daya, per instans, saat aplikasi fungsi diskalakan.

String koneksi, variabel lingkungan, dan pengaturan aplikasi lainnya didefinisikan secara terpisah untuk setiap aplikasi fungsi. Data apa pun yang harus dibagikan di antara aplikasi fungsi harus disimpan secara eksternal di penyimpanan persisten.

Memulai di portal Azure

Catatan

Karena keterbatasan mengedit kode fungsi di portal Azure, Anda harus mengembangkan fungsi Anda secara lokal dan menerbitkan proyek kode Anda ke aplikasi fungsi di Azure. Untuk informasi selengkapnya, lihat Batasan pengembangan di portal Azure

  1. Untuk memulai, masuk ke portal Azure menggunakan akun Azure Anda. Di bilah pencarian di bagian atas portal, masukkan nama aplikasi fungsi Anda dan pilih dari daftar.

  2. Di bawah Pengaturan di panel kiri, pilih Konfigurasi.

    Function app overview in the Azure portal

Anda dapat menavigasi ke semua yang Anda butuhkan untuk mengelola aplikasi fungsi Anda dari halaman gambaran umum, khususnya pengaturan Aplikasi dan fitur Platform.

Bekerja dengan pengaturan aplikasi

Anda dapat membuat sejumlah pengaturan aplikasi yang dibutuhkan oleh kode fungsi Anda. Terdapat juga pengaturan aplikasi yang telah ditentukan dan digunakan oleh Fungsi. Untuk informasi selengkapnya, lihat Referensi pengaturan aplikasi bagi Azure Functions.

Pengaturan ini disimpan terenkripsi. Untuk mempelajari lebih lanjut, lihat Keamanan pengaturan aplikasi.

Pengaturan aplikasi dapat dikelola dari portal Microsoft Azure dan dengan menggunakan Azure CLI dan Azure PowerShell. Anda juga dapat mengelola pengaturan aplikasi dari Visual Studio Code dan dari Visual Studio.

Untuk menemukan pengaturan aplikasi, lihat Memulai di portal Microsoft Azure.

Tab Pengaturan aplikasi mempertahankan pengaturan yang digunakan oleh aplikasi fungsi Anda. Anda harus memilih Perlihatkan nilai untuk melihat nilai di portal. Untuk menambahkan pengaturan di portal, pilih Pengaturan aplikasi baru dan tambahkan pasangan kunci-nilai baru.

Function app settings in the Azure portal.

Menggunakan Pengaturan Aplikasi

Nilai pengaturan aplikasi fungsi juga dapat dibaca dalam kode Anda sebagai variabel lingkungan. Untuk informasi selengkapnya, lihat bagian variabel Lingkungan dari topik referensi bahasa tertentu ini:

Saat Anda mengembangkan aplikasi fungsi secara lokal, Anda harus mempertahankan salinan lokal dari nilai-nilai ini di file proyek local.settings.json. Untuk mempelajari lebih lanjut, lihat File pengaturan lokal.

Pengaturan penyebaran FTPS

Azure Functions mendukung penyebaran kode proyek ke aplikasi fungsi Anda dengan menggunakan FTPS. Karena metode penyebaran ini mengharuskan Anda menyinkronkan pemicu, metode ini tidak disarankan. Untuk mentransfer file proyek dengan aman, selalu gunakan FTPS dan bukan FTP.

Anda bisa mendapatkan kredensial yang diperlukan untuk penyebaran FTPS menggunakan salah satu metode berikut:

Anda bisa mendapatkan kredensial penerbitan FTPS di portal Azure dengan mengunduh profil penerbitan untuk aplikasi fungsi Anda.

Penting

Profil penerbitan berisi kredensial keamanan penting. Anda harus selalu mengamankan file yang diunduh di komputer lokal Anda.

Cara mengunduh profil penerbitan dari aplikasi fungsi Anda:

  1. Pilih halaman Gambaran Umum aplikasi fungsi, kemudian pilih Dapatkan profil penerbitan.

    Download publish profile

  2. Pilih dan salin konten file.

  1. Dalam file, temukan publishProfile elemen dengan atribut publishMethod="FTP". Dalam elemen ini, publishUrlatribut , userName, dan userPWD berisi URL target dan kredensial untuk penerbitan FTPS.

Jenis paket Hosting

Saat membuat aplikasi fungsi, Anda juga membuat paket hosting tempat aplikasi berjalan. Paket dapat memiliki satu atau beberapa aplikasi fungsi. Fungsionalitas, penskalaan, dan harga fungsi Anda tergantung pada jenis paket. Untuk mempelajari selengkapnya, lihat Opsi hosting Azure Functions.

Anda dapat menentukan jenis paket yang digunakan oleh aplikasi fungsi Anda dari portal Microsoft Azure, atau dengan menggunakan Azure CLI atau Azure PowerShell API.

Nilai berikut menunjukkan jenis paket:

Jenis paket Portal Azure CLI/PowerShell
Consumption Consumption Dynamic
Premium ElasticPremium ElasticPremium
Khusus (App Service) Bermacam-macam Bermacam-macam

Untuk menentukan jenis paket yang digunakan oleh aplikasi fungsi Anda, lihat Paket App Service di tab Gambaran Umum untuk aplikasi fungsi di portal Microsoft Azure. Untuk melihat tingkat harga, pilih nama Paket App Service, lalu pilih Properti dari panel kiri.

View scaling plan in the portal

Merencanakan migrasi

Anda dapat menggunakan perintah portal Azure atau Azure CLI untuk memigrasikan aplikasi fungsi antara paket Konsumsi dan paket Premium di Windows. Saat bermigrasi antar paket, perlu diingat pertimbangan berikut:

  • Migrasi langsung ke paket Khusus (App Service) saat ini tidak didukung.
  • Migrasi tidak didukung di Linux.
  • Rencana sumber dan rencana target harus berada di grup sumber daya dan wilayah geografis yang sama. Untuk informasi selengkapnya, lihat Memindahkan aplikasi ke paket App Service lainnya.
  • Perintah CLI tertentu bergantung pada arah migrasi.
  • Waktu henti dalam eksekusi fungsi Anda terjadi saat aplikasi fungsi dimigrasikan antar paket.
  • Status dan konten khusus aplikasi lainnya dipertahankan, karena berbagi Azure Files yang sama digunakan oleh aplikasi baik sebelum dan sesudah migrasi.

Migrasi di portal

Di portal Azure, navigasikan ke aplikasi paket Konsumsi atau Premium Anda dan pilih Ubah paket App Service di bawah paket App Service. Pilih jenis Paket lainnya, buat paket App Service baru dari jenis baru, dan pilih OK. Untuk informasi selengkapnya, lihat Memindahkan aplikasi ke paket App Service lainnya.

Konsumsi ke Premium

Gunakan prosedur berikut untuk melakukan migrasi dari paket Konsumsi ke paket Premium di Windows:

  1. Jalankan perintah buat paket az functionapp seperti berikut untuk membuat paket App Service baru (Premium Elastis) di wilayah dan grup sumber daya yang sama seperti aplikasi fungsi yang sudah ada:

    az functionapp plan create --name <NEW_PREMIUM_PLAN_NAME> --resource-group <MY_RESOURCE_GROUP> --location <REGION> --sku EP1
    
  2. Jalankan perintah pembaruan az functionapp berikut untuk memigrasikan aplikasi fungsi yang ada ke paket Premium baru:

    az functionapp update --name <MY_APP_NAME> --resource-group <MY_RESOURCE_GROUP> --plan <NEW_PREMIUM_PLAN>
    
  3. Jika Anda tidak lagi memerlukan paket aplikasi fungsi Konsumsi sebelumnya, hapus paket aplikasi fungsi asli Anda setelah mengonfirmasi bahwa Anda telah berhasil bermigrasi ke paket baru. Jalankan perintah daftar paket az functionapp berikut untuk mendapatkan daftar semua paket Konsumsi di grup sumber daya Anda:

    az functionapp plan list --resource-group <MY_RESOURCE_GROUP> --query "[?sku.family=='Y'].{PlanName:name,Sites:numberOfSites}" -o table
    

    Anda dapat dengan aman menghapus paket dengan situs nol, yang merupakan tempat asal Anda bermigrasi.

  4. Jalankan perintah hapus paket az functionapp sebagai berikut untuk menghapus paket Konsumsi yang Anda migrasikan.

    az functionapp plan delete --name <CONSUMPTION_PLAN_NAME> --resource-group <MY_RESOURCE_GROUP>
    

Premium ke Konsumsi

Gunakan prosedur berikut untuk melakukan migrasi dari paket Premium ke paket Konsumsi di Windows:

  1. Jalankan perintah buat paket az functionapp seperti berikut untuk membuat paket aplikasi fungsi baru (Premium Elastis) di wilayah dan grup sumber daya yang sama seperti aplikasi fungsi yang sudah ada. Perintah ini juga membuat rencana Konsumsi baru tempat aplikasi fungsi berjalan.

    az functionapp create --resource-group <MY_RESOURCE_GROUP> --name <NEW_CONSUMPTION_APP_NAME> --consumption-plan-location <REGION> --runtime dotnet --functions-version 3 --storage-account <STORAGE_NAME>
    
  2. Jalankan perintah pembaruan az functionapp berikut untuk memigrasikan aplikasi fungsi yang ada ke paket Premium baru.

    az functionapp update --name <MY_APP_NAME> --resource-group <MY_RESOURCE_GROUP> --plan <NEW_CONSUMPTION_PLAN> --force
    
  3. Jalankan perintah penghapusan az functionapp seperti berikut untuk menghapus aplikasi fungsi yang Anda buat di langkah 1, karena Anda hanya memerlukan paket yang dibuat untuk menjalankan aplikasi fungsi yang ada.

    az functionapp delete --name <NEW_CONSUMPTION_APP_NAME> --resource-group <MY_RESOURCE_GROUP>
    
  4. Jika Anda tidak lagi memerlukan paket aplikasi fungsi Premium sebelumnya, hapus paket aplikasi fungsi asli Anda setelah mengonfirmasi bahwa Anda telah berhasil bermigrasi ke yang baru. Hingga paket Premium dihapus, Anda terus dikenakan biaya untuk itu. Jalankan perintah daftar paket az functionapp seperti berikut untuk mendapatkan daftar semua paket Premium di grup sumber daya Anda.

    az functionapp plan list --resource-group <MY_RESOURCE_GROUP> --query "[?sku.family=='EP'].{PlanName:name,Sites:numberOfSites}" -o table
    
  5. Jalankan perintah hapus paket az functionapp sebagai berikut untuk menghapus paket Premium tempat Anda bermigrasi.

    az functionapp plan delete --name <PREMIUM_PLAN> --resource-group <MY_RESOURCE_GROUP>
    

Dapatkan fungsi kunci akses Anda

Fungsi HTTP yang dipicu secara umum dapat dipanggil dengan menggunakan URL dengan format: https://<APP_NAME>.azurewebsites.net/api/<FUNCTION_NAME>. Ketika otorisasi ke fungsi Anda menetapkan nilai selain anonymous, Anda juga harus menyediakan kunci akses dalam permintaan Anda. Kunci akses dapat disediakan di URL menggunakan ?code= untai (karakter) kueri atau di header permintaan. Untuk mempelajari lebih lanjut, lihat Kunci akses fungsi. Ada beberapa cara untuk mendapatkan kunci akses Anda.

  1. Masuk ke portal Microsoft Azure, lalu cari dan pilih Aplikasi Fungsi.

  2. Pilih fungsi yang ingin Anda verifikasi.

  3. Di navigasi sebelah kiri di bawah Functions, pilih Kunci aplikasi.

    Proses ini mengembalikan kunci host, yang dapat digunakan untuk mengakses fungsi apa pun di aplikasi. Proses ini juga mengembalikan kunci sistem, yang memberi akses tingkat admin kepada siapa pun ke semua aplikasi fungsi API.

Anda juga dapat mempraktikkan sedikit hak istimewa dengan menggunakan kunci hanya untuk kunci fungsi tertentu dengan memilih Kunci fungsi di bawah Pengembang di dalam fungsi HTTP yang dipicu Anda.

Batasan pengembangan dalam portal Azure

Anda harus mempertimbangkan batasan ini saat mengembangkan fungsi Anda di portal Azure:

  • Pengeditan dalam portal hanya didukung untuk fungsi JavaScript, PowerShell, Python, dan C# Script.
  • Pengeditan Python di portal hanya didukung saat berjalan dalam paket Konsumsi.
  • Pengeditan dalam portal saat ini hanya didukung untuk fungsi yang dibuat atau terakhir dimodifikasi di portal.
  • Saat Menyebarkan kode ke aplikasi fungsi dari luar portal, Anda tidak dapat lagi mengedit kode apa pun untuk aplikasi fungsi tersebut di portal. Dalam hal ini, lanjutkan menggunakan pengembangan lokal.
  • Untuk fungsi C# yang dikompilasi, fungsi Java, dan beberapa fungsi Python, Anda dapat membuat aplikasi fungsi dan sumber daya terkait di portal. Namun, Anda harus membuat proyek kode fungsi secara lokal lalu menerbitkannya ke Azure.

Jika memungkinkan, Anda harus mengembangkan fungsi Anda secara lokal dan menerbitkan proyek kode Anda ke aplikasi fungsi di Azure. Untuk informasi selengkapnya, lihat Membuat kode dan menguji Azure Functions secara lokal.

Menginstal ekstensi secara manual

Fungsi pustaka kelas C# dapat mencakup paket NuGet untuk mengikat ekstensi secara langsung di proyek pustaka kelas. Untuk bahasa non-.NET lain dan skrip C#, Anda harus menggunakan bundel ekstensi. Jika Anda harus menginstal ekstensi secara manual, Anda dapat melakukannya dengan menggunakan Azure Functions Core Tools secara lokal. Jika Anda tidak dapat menggunakan bundel ekstensi dan hanya dapat bekerja di portal, Anda perlu menggunakan Advanced Tools (Kudu) untuk membuat file extensions.csproj secara manual langsung di situs. Pastikan untuk terlebih dahulu menghapus extensionBundle elemen dari file host.json.

Proses yang sama ini berfungsi untuk file lain yang perlu Anda tambahkan ke aplikasi Anda.

Penting

Jika memungkinkan, Anda tidak boleh mengedit file langsung di aplikasi fungsi Anda di Azure. Sebaiknya unduh file aplikasi Anda secara lokal, menggunakan Core Tools untuk menginstal ekstensi dan paket lainnya, memvalidasi perubahan Anda, lalu menerbitkan ulang aplikasi Anda menggunakan Core Tools atau salah satu metode penyebaran lain yang didukung.

Editor Functions yang disertakan dalam portal Azure memungkinkan Anda memperbarui kode fungsi dan file konfigurasi langsung di portal.

  1. Pilih aplikasi fungsi Anda, lalu di bawah Functions pilih Functions.
  2. Pilih fungsi Anda dan pilih Kode + uji di bawah Pengembang.
  3. Pilih file Anda untuk diedit dan pilih Simpan setelah selesai.

File di akar aplikasi, seperti function.proj atau extensions.csproj perlu dibuat dan diedit dengan menggunakan Alat Tingkat Lanjut (Kudu).

  1. Pilih aplikasi fungsi, di bawah Alat Pengembangan, pilih Alat Tingkat Lanjut>Jalankan.

  2. Jika diminta, masuk ke situs SCM dengan kredensial Azure Anda.

  3. Dari menu Konsol debug, pilih CMD.

  4. Navigasi ke .\site\wwwroot, pilih tombol plus (+) di bagian atas, dan pilih File baru.

  5. Beri nama file, seperti extensions.csproj dan tekan Enter.

  6. Pilih tombol edit di samping file baru, tambahkan atau perbarui kode dalam file, dan pilih Simpan.

  7. Untuk file proyek seperti extensions.csproj, jalankan perintah berikut untuk membangun kembali proyek ekstensi:

    dotnet build extensions.csproj
    

Fitur platform

Aplikasi fungsi berjalan di, dan dikelola oleh, platform Azure App Service. Dengan demikian, aplikasi fungsi Anda memiliki akses ke sebagian besar fitur platform hosting web inti Azure. Saat bekerja di portal Microsoft Azure, panel kiri adalah tempat Anda mengakses banyak fitur platform App Service yang dapat Anda gunakan di aplikasi fungsi Anda.

Matriks berikut mengindikasi fitur portal yang didukung dengan paket hosting dan sistem operasi:

Fitur Paket Konsumsi Paket premium Paket khusus
Alat canggih (Kudu) Windows: ✔
Linux: X
Editor App Service Windows: ✔
Linux: X
Windows: ✔
Linux: X
Windows: ✔
Linux: X
Pencadangan X X
Konsol Windows: baris perintah
Linux: X
Windows: baris perintah
Linux: SSH
Windows: baris perintah
Linux: SSH

Isi selanjutnya dari artikel ini berfokus pada fitur App Service berikut di portal yang berguna untuk aplikasi fungsi:

Untuk informasi selengkapnya tentang cara bekerja dengan pengaturan App Service, lihat Mengonfigurasi Pengaturan Azure App Service.

Editor App Service

The App Service editor

Editor App Service adalah editor di portal tingkat lanjut yang dapat Anda gunakan untuk memodifikasi file konfigurasi JSON dan file kode. Memilih opsi ini meluncurkan tab browser terpisah dengan editor dasar. Ini memungkinkan Anda untuk mengintegrasikan dengan repositori Git, menjalankan dan men-debug kode, dan memodifikasi pengaturan aplikasi fungsi. Editor ini menyediakan lingkungan pengembangan yang lebih canggih untuk fungsi Anda dibandingkan dengan editor fungsi bawaan.

Kami menyarankan agar Anda mempertimbangkan untuk mengembangkan fungsi Anda di komputer lokal Anda. Saat Anda mengembangkan secara lokal dan menerbitkan ke Azure, file proyek Anda bersifat baca-saja di portal. Untuk mempelajari selengkapnya, lihat Membuat kode dan menguji Azure Functions secara lokal.

Konsol

Function app console

Konsol dalam portal adalah alat pengembang yang ideal ketika Anda lebih suka berinteraksi dengan aplikasi fungsi Anda dari baris perintah. Perintah umum termasuk direktori dan pembuatan file dan navigasi, serta mengeksekusi file batch dan skrip.

Saat mengembangkan secara lokal, sebaiknya Anda gunakan Azure Functions Core Tools dan Azure CLI.

Alat canggih (Kudu)

Configure Kudu

Alat canggih untuk App Service (juga dikenal sebagai Kudu) menyediakan akses ke fitur administratif canggih dari aplikasi fungsi Anda. Dari Kudu, Anda mengelola informasi sistem, pengaturan aplikasi, variabel lingkungan, ekstensi situs, header HTTP, dan variabel server. Anda juga dapat meluncurkan Kudu dengan menjelajah ke titik akhir SCM untuk aplikasi fungsi Anda, seperti https://<myfunctionapp>.scm.azurewebsites.net/

Pusat Penyebaran

Saat Anda menggunakan solusi kontrol sumber untuk mengembangkan dan memelihara kode fungsi, Pusat Penyebaran memungkinkan Anda membangun dan menyebarkan dari kontrol sumber. Proyek Anda dibangun dan disebarkan ke Azure saat Anda melakukan pembaruan. Untuk informasi selengkapnya, lihat Teknologi penyebaran di Azure Functions.

Berbagi sumber daya lintas asal

Untuk mencegah eksekusi kode berbahaya pada klien, browser modern memblokir permintaan dari aplikasi web ke sumber daya yang berjalan di domain terpisah. Berbagi sumber daya lintas asal (CORS) memungkinkan header Access-Control-Allow-Origin mendeklarasikan asal mana yang diizinkan untuk memanggil titik akhir pada aplikasi fungsi Anda.

Portal

Saat Anda mengonfigurasi daftar Asal yang diperbolehkan untuk aplikasi fungsi Anda, header Access-Control-Allow-Origin secara otomatis ditambahkan ke semua respons dari titik akhir HTTP di aplikasi fungsi Anda.

Configure function app's CORS list

Kartubebas (*) diabaikan jika ada entri domain lain.

Gunakan perintah az functionapp cors add untuk menambahkan domain ke daftar asal yang diperbolehkan. Contoh berikut menambahkan domain contoso.com:

az functionapp cors add --name <FUNCTION_APP_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--allowed-origins https://contoso.com

Gunakan perintah az functionapp cors show untuk membuat daftar asal yang diperbolehkan saat ini.

Autentikasi

Configure authentication for a function app

Ketika fungsi menggunakan pemicu HTTP, Anda dapat meminta panggilan untuk diautentikasi terlebih dahulu. App Service mendukung autentikasi dan masuk Microsoft Entra dengan penyedia sosial, seperti Facebook, Microsoft, dan Twitter. Untuk detail tentang mengonfigurasi penyedia autentikasi tertentu, lihat Gambaran umum autentikasi Azure App Service.

Langkah berikutnya