Panduan mulai cepat: Membuat fungsi Go atau Rust di Azure menggunakan Visual Studio Code

Dalam artikel ini, gunakan Visual Studio Code untuk membuat fungsi pengelola kustom yang merespons permintaan HTTP. Setelah menguji kode secara lokal, sebarkan kode ke lingkungan tanpa server Azure Functions.

Pengelola kustom dapat digunakan untuk membuat fungsi dalam bahasa atau runtime apa pun dengan menjalankan proses server HTTP. Artikel ini mendukung Go dan Rust.

Menyelesaikan panduan mulai cepat ini dikenakan biaya kecil berupa beberapa sen USD atau kurang di akun Azure Anda.

Mengkonfigurasikan lingkungan Anda

Sebelum memulai, pastikan Anda memiliki persyaratan berikut:

Menginstal atau memperbarui Core Tools

Ekstensi Azure Functions untuk Visual Studio Code terintegrasi dengan Azure Functions Core Tools sehingga Anda dapat menjalankan dan men-debug fungsi Anda secara lokal di Visual Studio Code menggunakan runtime Azure Functions. Sebelum memulai, ada baiknya menginstal Core Tools secara lokal atau memperbarui penginstalan yang ada untuk menggunakan versi terbaru.

Di Visual Studio Code, pilih F1 untuk membuka palet perintah, lalu cari dan jalankan perintah Azure Functions: Instal atau Perbarui Core Tools.

Perintah ini memulai penginstalan berbasis paket dari versi terbaru Core Tools.

Membuat proyek lokal Anda

Di bagian ini, gunakan Visual Studio Code untuk membuat proyek pengelola kustom Azure Functions lokal. Nantinya di artikel ini, Anda akan menerbitkan kode fungsi ke Azure.

  1. Pilih ikon Azure di bilah Aktivitas. Lalu di area Ruang Kerja (lokal), klik tombol +, pilih Buat Fungsi di dropdown. Saat diminta, pilih Buat proyek baru.

    Cuplikan layar membuat jendela proyek baru.

  2. Pilih lokasi direktori untuk ruang kerja proyek Anda dan pilih Pilih. Anda harus membuat folder baru atau memilih folder kosong untuk ruang kerja proyek. Jangan memilih folder proyek yang sudah merupakan bagian dari sebuah ruang kerja.

  3. Berikan informasi berikut pada permintaan:

    Prompt Pilihan
    Pilih bahasa pemrogram untuk proyek fungsi Anda Pilih Custom Handler.
    Pilih templat untuk fungsi pertama proyek Anda Pilih HTTP trigger.
    Berikan nama fungsi Ketik HttpExample.
    Tingkat otorisasi Pilih Anonymous, yang memungkinkan siapa saja untuk memanggil titik akhir fungsi Anda. Untuk mempelajari tentang tingkat otorisasi, lihat Kunci otorisasi.
    Pilih bagaimana Anda ingin membuka proyek Anda Pilih Open in current window.

    Dengan menggunakan informasi ini, Visual Studio Code akan membuat proyek Azure Functions dengan pemicu HTTP. Anda bisa melihat file proyek lokal di Explorer.

Membuat dan membangun fungsi Anda

File function.json di folder HttpExample mendeklarasikan fungsi pemicu HTTP. Selesaikan fungsi dengan menambahkan pengelola dan mengompilasinya sehingga dapat dieksekusi.

  1. Tekan Ctrl + N (Cmd + N di macOS) untuk membuat file baru. Simpan sebagai handler.go di akar aplikasi fungsi (di folder yang sama dengan host.json).

  2. Di handler.go, tambahkan kode berikut dan simpan file. Ini adalah pengelola kustom Go Anda.

    package main
    
    import (
        "fmt"
        "log"
        "net/http"
        "os"
    )
    
    func helloHandler(w http.ResponseWriter, r *http.Request) {
        message := "This HTTP triggered function executed successfully. Pass a name in the query string for a personalized response.\n"
        name := r.URL.Query().Get("name")
        if name != "" {
            message = fmt.Sprintf("Hello, %s. This HTTP triggered function executed successfully.\n", name)
        }
        fmt.Fprint(w, message)
    }
    
    func main() {
        listenAddr := ":8080"
        if val, ok := os.LookupEnv("FUNCTIONS_CUSTOMHANDLER_PORT"); ok {
            listenAddr = ":" + val
        }
        http.HandleFunc("/api/HttpExample", helloHandler)
        log.Printf("About to listen on %s. Go to https://127.0.0.1%s/", listenAddr, listenAddr)
        log.Fatal(http.ListenAndServe(listenAddr, nil))
    }
    
  3. Tekan Ctrl + Shift + ` atau pilih Terminal Baru dari menu Terminal untuk membuka terminal terintegrasi baru di Visual Studio Code.

  4. Kompilasi pengelola kustom Anda menggunakan perintah berikut. File yang dapat dieksekusi bernama handler (handler.exe pada Windows) adalah output dalam folder akar aplikasi fungsi.

    go build handler.go
    

    Visual Studio Code - Membuat pengelola kustom Go

Mengonfigurasi aplikasi fungsi Anda

{i>Host

  1. Buka host.json.

  2. Di bagian customHandler.description, atur nilai defaultExecutablePath ke handler (pada Windows, atur ke handler.exe).

  3. Di bagian customHandler tersebut, tambahkan properti bernama enableForwardingHttpRequest dan atur nilainya ke true. Untuk fungsi yang hanya terdiri dari pemicu HTTP, pengaturan ini menyederhanakan pemrograman dengan memungkinkan Anda bekerja dengan permintaan HTTP yang khas alih-alih muatan permintaan pengelola kustom.

  4. Mengonfirmasikan bagian customHandler terlihat seperti contoh ini. Simpan file.

    "customHandler": {
      "description": {
        "defaultExecutablePath": "handler",
        "workingDirectory": "",
        "arguments": []
      },
      "enableForwardingHttpRequest": true
    }
    

Aplikasi fungsi dikonfigurasi untuk membuat pengelola kustom Anda dapat dieksekusi.

Jalankan fungsi secara lokal

Jalankan proyek ini pada komputer pengembangan lokal Anda sebelum menerbitkan ke Azure.

  1. Di terminal terintegrasi, mulai aplikasi fungsi menggunakan Azure Functions Core Tools.

    func start
    
  2. Dengan Core Tools yang berjalan, navigasi ke URL berikut untuk menjalankan permintaan GET, yang mencakup string kueri ?name=Functions.

    http://localhost:7071/api/HttpExample?name=Functions

  3. Respons dikembalikan, yang terlihat seperti berikut ini di browser:

    Browser - output contoh localhost

  4. Informasi tentang permintaan ditampilkan di panel Terminal.

    Host tugas mulai - output terminal Visual Studio Code

  5. Tekan Ctrl + C untuk menghentikan Core Tools.

Setelah memverifikasi bahwa fungsinya berjalan dengan benar di komputer lokal Anda, saatnya menggunakan Visual Studio Code untuk menerbitkan proyek langsung ke Azure.

Masuk ke Azure

Sebelum dapat membuat sumber daya Azure atau menerbitkan aplikasi, Anda harus masuk ke Azure.

  1. Jika Anda belum masuk, pilih ikon Azure di bilah Aktivitas. Lalu, di area Sumber Daya, pilih Masuk ke Azure...

    Cuplikan layar masuk ke jendela Azure dalam VS Code.

    Jika sudah masuk dan dapat melihat langganan Anda yang ada, buka bagian berikutnya. Jika Anda belum memiliki akun Azure, pilih Buat Akun Azure.... Siswa dapat memilih Buat Akun Azure for Students....

  2. Saat diminta di browser, pilih akun Azure Anda dan masuk menggunakan kredensial akun Azure Anda. Jika membuat akun baru, Anda dapat masuk setelah akun berhasil dibuat.

  3. Setelah berhasil masuk, Anda dapat menutup jendela browser baru. Langganan dalam akun Azure Anda ditampilkan di bilah sisi.

Mengompilasi pengelola kustom untuk Azure

Di bagian ini, publikasikan proyek Anda ke Azure dalam aplikasi fungsi yang menjalankan Linux. Dalam kebanyakan kasus, Anda harus mengompilasi ulang biner Anda dan menyesuaikan konfigurasi Anda agar sesuai dengan platform target sebelum menerbitkannya ke Azure.

  1. Di terminal terintegrasi, kompilasi pengelola ke Linux/x64. Biner bernama handler dibuat di akar aplikasi fungsi.

    GOOS=linux GOARCH=amd64 go build handler.go
    

Membuat aplikasi fungsi di Azure

Di bagian ini, Anda membuat aplikasi fungsi dan sumber daya terkait di langganan Azure Anda.

  1. Pilih ikon Azure di bilah Aktivitas. Lalu, di area Sumber Daya, pilih ikon + dan pilih opsi Buat Aplikasi Fungsi di Azure.

    Membuat sumber daya di langganan Azure Anda

  2. Berikan informasi berikut pada permintaan:

    Prompt Pilihan
    Pilih langganan Pilih langganan yang akan digunakan. Anda tidak akan melihat ini jika Anda hanya memiliki satu langganan yang terlihat di Sumber Daya.
    Masukkan nama unik global untuk aplikasi fungsi Ketik nama yang valid di jalur URL. Nama yang Anda ketik akan divalidasi untuk memastikan bahwa nama tersebut bersifat unik di Azure Functions.
    Pilih tumpukan runtime Pilih Handler Kustom.
    Pilih lokasi untuk sumber daya baru Pilih wilayah yang lebih dekat dengan Anda untuk kinerja yang lebih baik.

    Ekstensi ini menampilkan status sumber daya individual saat dibuat di Azure di panel Azure: Log Aktivitas.

    Log pembuatan sumber daya Azure

  3. Setelah pembuatan selesai, sumber daya Azure berikut dibuat di langganan Anda. Sumber daya dinamai berdasarkan nama aplikasi fungsi Anda:

    • Grup sumber daya, yang merupakan kontainer logis untuk sumber daya terkait.
    • Akun Azure Storage standar, memelihara status dan informasi lain tentang proyek Anda.
    • Aplikasi fungsi, menyediakan lingkungan untuk menjalankan kode fungsi Anda. Aplikasi fungsi memungkinkan Anda mengelompokkan fungsi sebagai unit logis untuk memudahkan pengelolaan, penerapan, dan berbagi sumber daya dalam paket hosting yang sama.
    • Paket App Service, menentukan host yang mendasari aplikasi fungsi Anda.
    • Instans Application Insights tersambung ke aplikasi fungsi, yang melacak penggunaan fungsi Anda di aplikasi.

    Notifikasi ditampilkan setelah aplikasi fungsi Anda dibuat dan paket penyebaran diterapkan.

    Tip

    Secara default, sumber daya Azure yang diperlukan oleh aplikasi fungsi Anda dibuat berdasarkan nama aplikasi fungsi yang Anda berikan. Secara default, sumber daya ini juga dibuat di grup sumber daya baru yang sama dengan aplikasi fungsi. Jika ingin menyesuaikan nama sumber daya ini atau menggunakan kembali sumber daya yang ada, Anda perlu menerbitkan proyek dengan opsi pembuatan lanjutan.

Menyebarkan proyek ke Azure

Penting

Penyebaran ke aplikasi fungsi yang ada selalu menimpa konten aplikasi tersebut di Azure.

  1. Di area Sumber Daya aktivitas Azure, temukan sumber daya aplikasi fungsi yang baru saja Anda buat, klik kanan sumber daya, dan pilih Sebarkan ke aplikasi fungsi....

  2. Saat diminta untuk menimpa penyebaran sebelumnya, pilih Sebarkan untuk menyebarkan kode fungsi Anda ke sumber daya aplikasi fungsi baru.

  3. Setelah penyebaran selesai, pilih Tampilkan Output untuk melihat hasil pembuatan dan penyebaran, termasuk sumber daya Azure yang Anda buat. Jika melewatkan pemberitahuan, pilih ikon bel di sudut kanan bawah untuk melihatnya lagi.

    Cuplikan layar jendela Tampilan Output.

Menjalankan fungsi di Azure

  1. Kembali di bagian Sumber Daya di bilah samping, perluas langganan, aplikasi fungsi baru, dan Functions Anda. Klik kanan (Windows) atau Ctrl - klik (macOS) fungsi HttpExample dan pilih Jalankan Fungsi Sekarang....

    Cuplikan layar menjalankan fungsi di Azure dari Visual Studio Code.

  2. Di Masukkan isi permintaan Anda melihat nilai isi pesan permintaan { "name": "Azure" }. Tekan Masukkan untuk mengirim pesan permintaan ini ke fungsi Anda.

  3. Saat fungsi dijalankan di Azure dan mengembalikan respons, pemberitahuan akan dimunculkan dalam Visual Studio Code.

Membersihkan sumber daya

Saat melanjutkan ke langkah berikutnya dan menambahkan antrean Azure Storage yang mengikat ke fungsi, Anda harus menyimpan semua sumber daya untuk membangun apa yang telah Anda lakukan.

Jika tidak, Anda dapat menggunakan langkah-langkah berikut untuk menghapus aplikasi fungsi dan sumber daya terkait untuk menghindari timbulnya biaya lebih lanjut.

  1. Di Visual Studio Code, tekan F1 untuk membuka palet perintah. Di palet perintah, cari dan pilih Azure: Open in portal.

  2. Pilih aplikasi fungsi Anda dan tekan Enter. Halaman aplikasi fungsi terbuka di portal Azure.

  3. Di tab Ringkasan, pilih tautan bernama di samping Grup sumber daya.

    Cuplikan layar pemilihan grup sumber daya yang akan dihapus dari halaman aplikasi fungsi.

  4. Di halaman Grup sumber daya, tinjau daftar sumber daya yang disertakan, dan pastikan sumber daya tersebut adalah sumber daya yang ingin Anda hapus.

  5. Pilih Hapus grup sumber daya, dan ikuti instruksinya.

    Penghapusan mungkin perlu waktu beberapa menit. Setelah selesai, pemberitahuan akan muncul selama beberapa detik. Anda juga dapat memilih ikon bel di bagian atas halaman untuk melihat pemberitahuan.

Untuk informasi selengkapnya tentang biaya Azure Functions, lihat Memperkirakan biaya rencana Konsumsi.

Langkah berikutnya