Pengantar Azure Functions di Visual Studio untuk Mac

Penting

Visual Studio untuk Mac dijadwalkan untuk dihentikan pada 31 Agustus 2024 sesuai dengan Kebijakan Siklus Hidup Modern Microsoft. Meskipun Anda dapat terus bekerja dengan Visual Studio untuk Mac, ada beberapa opsi lain untuk pengembang di Mac seperti versi pratinjau ekstensi C# Dev Kit baru untuk Visual Studio Code.

Pelajari selengkapnya tentang garis waktu dukungan dan alternatif.

Azure Functions adalah cara untuk membuat dan menjalankan cuplikan kode berbasis peristiwa –– fungsi –– di cloud, tanpa harus secara eksplisit menyediakan atau mengelola infrastruktur. Untuk informasi selengkapnya tentang Azure Functions, lihat Dokumentasi Azure Functions.

Persyaratan

Alat fungsi Azure disertakan dalam Visual Studio untuk Mac 7.5 dan yang lebih baru.

Untuk membuat dan menyebarkan fungsi, Anda juga memerlukan langganan Azure. Jika Anda tidak memiliki akun Azure, Anda dapat mendaftar hari ini secara gratis dan menerima 12 bulan layanan populer gratis, kredit gratis $200 dan layanan 25+ selalu gratis ->https://azure.com/free.

Membuat proyek Azure Functions pertama Anda

  1. Di Visual Studio untuk Mac, pilih File > Solusi Baru.

  2. Dari dialog Proyek Baru, pilih templat Azure Functions di bawah Cloud > Umum dan klik Berikutnya:

    New Project dialog showing Azure Functions option

  3. Pilih templat Azure Functions awal yang ingin Anda gunakan, masukkan nama fungsi Anda dan klik Berikutnya.

    New Project dialog showing Azure Functions templates

    Tip

    Sementara runtime dan template (CLI) Azure Functions yang dibundel dijaga agar tetap mutakhir, mereka pasti akan ketinggalan zaman. Saat membuat proyek Functions baru, Visual Studio untuk Mac akan memeriksa pembaruan ke CLI dan akan memberi tahu Anda seperti yang ditunjukkan pada gambar berikut. Cukup klik tombol untuk mengunduh templat yang diperbarui. New project dialog showing Azure Functions updates are available

    Bergantung pada jenis fungsi yang Anda pilih, halaman berikutnya akan meminta Anda untuk memasukkan detail, seperti hak akses, seperti yang diilustrasikan dalam gambar berikut:

    New Project dialog showing additional option

    Untuk informasi selengkapnya tentang berbagai jenis templat Azure Functions dan properti pengikatan yang diperlukan untuk mengonfigurasi setiap templat, lihat bagian Templat fungsi yang tersedia. Untuk contoh ini, kita menggunakan pemicu HTTP dengan hak akses yang diatur ke anonim.

  4. Setelah Anda mengatur parameter, pilih lokasi untuk proyek dan klik Buat.

Visual Studio untuk Mac membuat proyek .NET Standard dengan fungsi default yang disertakan. Templat proyek default menyertakan referensi NuGet ke berbagai paket AzureWebJobs, serta paket Newtonsoft.Json.

Visual Studio for Mac editor displaying a brand new Azure function from template

Proyek baru ini memiliki beberapa file berikut:

  • your-function-name.cs – Kelas ini berisi kode boilerplate untuk fungsi yang Anda pilih. Ini berisi atribut FunctionName dengan nama fungsi, dan atribut pemicu yang menentukan apa yang memicu fungsi (misalnya permintaan HTTP). Untuk informasi selengkapnya tentang metode fungsi, lihat artikel referensi pengembang Azure Functions C#.
  • host.json - File ini menjelaskan opsi konfigurasi global untuk host Functions. Untuk contoh file dan informasi tentang pengaturan yang tersedia untuk file ini, lihat referensi host.json untuk Azure Functions.
  • local.settings.json – File ini berisi semua pengaturan untuk menjalankan fungsi secara lokal. Pengaturan ini digunakan oleh Azure Functions Core Tools. Untuk informasi selengkapnya, lihat File pengaturan lokal di artikel Azure Functions Core Tools.

Setelah membuat proyek Azure Functions baru di Visual Studio untuk Mac, Anda dapat menguji fungsi default yang dipicu HTTP dari komputer lokal Anda.

Uji fungsi secara lokal

Dengan dukungan Azure Functions di Visual Studio untuk Mac, Anda dapat menguji dan men-debug fungsi di komputer pengembangan lokal Anda.

  1. Untuk menguji fungsi Anda secara lokal, tekan tombol Jalankan di Visual Studio untuk Mac:

    Start debugging button in Visual Studio for mac

  2. Menjalankan proyek memulai penelusuran kesalahan lokal pada fungsi Azure dan membuka jendela Terminal baru, seperti yang diilustrasikan dalam gambar berikut:

    terminal window showing function output

    Salin URL dari output perintah.

  3. Tempelkan URL untuk permintaan HTTP ke bar alamat browser Anda. Tambahkan string kueri ?name=<yourname> ke akhir URL dan jalankan permintaan. Gambar berikut menampilkan respons di browser ke permintaan GET lokal yang dikembalikan oleh fungsi:

    HTTP request in browser

Menambahkan fungsi lain ke proyek Anda

Templat Fungsi memungkinkan Anda membuat fungsi baru dengan cepat menggunakan pemicu dan templat yang paling umum. Untuk membuat jenis fungsi lain, lakukan hal berikut:

  1. Untuk menambahkan fungsi baru, klik kanan pada nama proyek dan pilih Tambahkan > Tambahkan Fungsi...:

    context action for adding new function

  2. Dari dialog Fungsi Azure Baru, pilih fungsi yang Anda perlukan:

    new Azure function dialog

    Daftar templat fungsi Azure disediakan di bagian Templat fungsi yang tersedia.

Gunakan prosedur di atas untuk menambahkan lebih banyak fungsi ke proyek aplikasi fungsi Anda. Setiap fungsi dalam proyek dapat memiliki pemicu yang berbeda, tetapi fungsi harus memiliki satu pemicu yang tepat. Untuk mempelajari selengkapnya, lihat Konsep pengikatan dan pemicu Azure Functions.

Menerbitkan ke Azure

  1. Klik kanan pada nama proyek dan pilih Terbitkan Terbitkan > ke Azure: Context menu with Publish > Publish to Azure... option highlighted

  2. Jika Anda telah menghubungkan akun Azure ke Visual Studio untuk Mac, daftar layanan aplikasi yang tersedia akan ditampilkan. Jika Anda tidak masuk, Anda akan diminta untuk masuk.

  3. Dari dialog Terbitkan ke Azure App Service, Anda dapat memilih layanan aplikasi yang sudah ada atau membuat yang baru dengan mengeklik Baru.

  4. Dalam dialog Buat App Service baru, masukkan pengaturan Anda:New App Service dialog, with fields for service name, subscription, resource group, and service plan settings.

    Pengaturan Deskripsi
    App Service Name Nama unik global yang mengidentifikasi aplikasi fungsi baru Anda.
    Langganan Langganan Azure untuk digunakan.
    Grup Sumber Daya Nama grup sumber daya tempat membuat aplikasi fungsi Anda. Pilih + untuk membuat grup sumber daya baru.
    Service Plan Pilih paket yang sudah ada atau buat paket kustom. Pilih Lokasi di wilayah di dekat Anda atau di dekat layanan lain yang diakses fungsi Anda.
  5. Klik Berikutnya untuk membuat akun penyimpanan. Akun Azure Storage diperlukan oleh runtime Fungsi. Klik Kustom untuk membuat akun penyimpanan tujuan umum, atau gunakan akun yang sudah ada:

    New App Service dialog with prompt for storage account name.

  6. Klik Buat untuk membuat aplikasi fungsi dan sumber daya terkait di Azure dengan pengaturan ini dan menyebarkan kode proyek fungsi Anda.

  7. Anda mungkin diminta dengan dialog selama penerbitan yang memberi tahu Anda tentang "Perbarui Versi Fungsi di Azure". Klik Ya:

    Prompt asking to

Pengaturan aplikasi fungsi

Pengaturan apa pun yang Anda tambahkan di local.settings.json harus juga ditambahkan ke aplikasi fungsi di Azure. Pengaturan ini tidak diunggah secara otomatis saat Anda menerbitkan proyek.

Untuk mengakses pengaturan aplikasi Anda, buka portal Azure di https://ms.portal.azure.com/. Di bawah Aplikasi Functions, pilih Aplikasi Fungsi dan sorot nama fungsi Anda:

Azure Functions menu

Dari tab Gambaran Umum pilih Pengaturan aplikasi di bawah Fitur yang dikonfigurasi:

Over tab of Azure function

Dari sini Anda dapat mengatur Pengaturan Aplikasi untuk aplikasi fungsi, tempat Anda dapat menambahkan pengaturan aplikasi baru atau memodifikasi yang sudah ada:

application settings area of Azure portal

Salah satu pengaturan penting yang mungkin perlu Anda atur adalah FUNCTIONS_EXTENSION_VERSION. Saat menerbitkan dari Visual Studio untuk Mac, nilai ini harus diatur ke beta.

Templat fungsi yang tersedia

  • GitHub Trigger – Merespons peristiwa yang terjadi di repositori GitHub Anda. Untuk informasi selengkapnya, lihat artikel Azure Functions tentang GitHub

    • GitHub pemberi komentar - Fungsi ini akan dijalankan saat menerima webhook GitHub untuk masalah atau permintaan pull dan menambahkan komentar.
    • GitHub WebHook - Fungsi ini akan dijalankan ketika menerima webhook GitHub.
  • HTTP – Memicu eksekusi kode Anda menggunakan permintaan. Ada templat eksplisit untuk pemicu HTTP berikut:

    • Pemicu HTTP
    • HTTP GET membuat, memperbarui, membaca, dan menghapus (CRUD)
    • HTTP POST CRUD
    • Pemicu HTTP dengan parameter
  • Timer - Menjalankan pembersihan atau tugas batch lainnya pada jadwal yang telah ditentukan. Templat ini mengambil dua bidang: Nama dan jadwal, yang merupakan ekspresi CRON enam bidang. Untuk informasi selengkapnya, lihat artikel Azure Functions tentang Waktu

  • Pemicu Antrean – Ini adalah fungsi yang akan merespons pesan saat pesan tiba di antrean Azure Queue Storage. Selain nama fungsi, templat ini mengambil Jalur (nama antrean tempat pesan akan dibaca) dan Koneksi akun penyimpanan (nama pengaturan aplikasi yang berisi string koneksi akun penyimpanan Anda). Untuk informasi selengkapnya, lihat artikel Azure Functions tentang Queue Storage.

  • Pemicu Blob – Memproses Azure Storage blob saat ditambahkan ke kontainer. Selain nama fungsi, templat ini juga mengambil jalur dan properti koneksi. Properti jalur adalah jalur dalam akun penyimpanan Anda yang akan dipantau oleh pemicu. Akun koneksi adalah nama pengaturan aplikasi yang berisi string koneksi akun penyimpanan Anda. Untuk informasi selengkapnya, lihat artikel Azure Functions tentang Blob Storage.

  • WebHook Generik – Ini adalah fungsi sederhana yang akan berjalan setiap kali menerima permintaan dari layanan apa pun yang mendukung webhook. Untuk informasi selengkapnya, lihat artikel Azure Functions tentang webhook generik.

  • Orkestrasi fungsi tahan lama - Fungsi tahan lama memungkinkan Anda menulis fungsi stateful di lingkungan tanpa server. Ekstensi ini mengelola status, titik pemeriksaan, dan menghidupkan ulang untuk Anda. Untuk informasi selengkapnya, lihat panduan tentang fungsi Tahan Lama.

  • Image Resizer – Fungsi ini membuat gambar yang diubah ukurannya setiap kali blob ditambahkan ke kontainer. Templat mengambil jalur dan string koneksi untuk pemicu, output gambar kecil, dan output gambar sedang.

  • Token SAS – Fungsi ini menghasilkan token SAS untuk kontainer Azure Storage dan nama blob tertentu. Selain nama fungsi, templat ini juga mengambil jalur dan properti koneksi. Properti jalur adalah jalur dalam akun penyimpanan Anda yang akan dipantau oleh pemicu. Akun koneksi adalah nama pengaturan aplikasi yang berisi string koneksi akun penyimpanan Anda. Hak Akses juga perlu diatur. Tingkat otorisasi mengontrol apakah fungsi memerlukan kunci API dan kunci mana yang akan digunakan; Function menggunakan kunci fungsi; Admin menggunakan kunci akses akun Anda. Untuk informasi selengkapnya, lihat fungsi C# Azure untuk menghasilkan sampel token SAS.