Bagikan melalui


Mulai cepat: Membuat fungsi Python di Azure dari baris perintah

Dalam artikel ini, Anda menggunakan alat baris perintah untuk membuat fungsi Python yang merespons permintaan HTTP. Setelah menguji kode secara lokal, sebarkan kode ke lingkungan tanpa server Azure Functions.

Artikel ini menggunakan model pemrograman Python v2 untuk Azure Functions, yang menyediakan pendekatan berbasis dekorator untuk membuat fungsi. Untuk mempelajari selengkapnya tentang model pemrograman Python v2, lihat Panduan Referensi Pengembang

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

Terdapat juga Versi berbasis Visual Studio Code dari artikel ini.

Mengonfigurasi lingkungan lokal Anda

Sebelum memulai, Anda harus memiliki persyaratan berikut:

Pasang 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:

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.

Gunakan perintah func --version untuk memastikan versi Core Tools Anda setidaknya 4.0.5530.

Membuat dan mengaktifkan lingkungan virtual

Di folder yang sesuai, jalankan perintah berikut untuk membuat dan mengaktifkan lingkungan virtual bernama .venv. Pastikan Anda menggunakan versi Python yang didukung oleh Azure Functions.

python -m venv .venv
source .venv/bin/activate

Jika Python tidak memasang paket venv pada distribusi Linux Anda, jalankan perintah berikut:

sudo apt-get install python3-venv

Anda menjalankan semua perintah berikutnya di lingkungan virtual yang diaktifkan ini.

Membuat 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 dan menambahkan fungsi yang dipicu HTTP.

  1. Jalankan func init perintah sebagai berikut untuk membuat proyek fungsi Python v2 di lingkungan virtual.

    func init --python
    

    Lingkungan sekarang 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.

  2. 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"
    

    Jika diminta, pilih opsi ANONIM . func new menambahkan titik akhir pemicu HTTP bernama HttpExample ke function_app.py file, yang dapat diakses tanpa autentikasi.

Jalankan fungsi secara lokal

  1. Jalankan fungsi Anda dengan memulai host runtime Azure Functions lokal dari folder LocalFunctionProj .

    func start
    

    Menjelang akhir output, baris berikut harus muncul:

    Cuplikan layar output jendela terminal saat menjalankan fungsi secara lokal.

    Nota

    Jika HttpExample tidak muncul seperti yang ditunjukkan di atas, Anda mungkin memulai hosting dari luar folder akar proyek. Dalam hal ini, gunakan Ctrl+C untuk menghentikan host, buka folder akar proyek, dan jalankan perintah sebelumnya lagi.

  2. Salin URL fungsi HTTP Anda dari output ini ke browser dan tambahkan string ?name=<YOUR_NAME>kueri , membuat URL lengkap seperti http://localhost:7071/api/HttpExample?name=Functions. Browser harus menampilkan pesan respons yang menggemakan kembali nilai string kueri Anda. Terminal tempat Anda memulai proyek juga menunjukkan output log saat Anda membuat permintaan.

  3. Setelah selesai, tekan Ctrl + C dan ketik y untuk menghentikan host 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 mempertahankan status dan informasi lain tentang proyek 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.

  1. Jika diperlukan, masuk ke Azure.

    az login
    

    Perintah memasukkan az login Anda ke akun Azure Anda.

  2. Buat grup sumber daya bernama AzureFunctionsQuickstart-rg di wilayah pilihan Anda.

    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.

    Nota

    Anda tidak dapat menghosting aplikasi Linux dan Windows dalam grup sumber daya yang sama. Jika Anda memiliki grup sumber daya yang sudah ada bernama AzureFunctionsQuickstart-rg dengan aplikasi fungsi Windows atau aplikasi web, Anda harus menggunakan grup sumber daya yang berbeda.

  3. Buat akun penyimpanan tujuan umum di grup dan wilayah sumber daya Anda.

    az storage account create --name <STORAGE_NAME> --location <REGION> --resource-group AzureFunctionsQuickstart-rg --sku Standard_LRS
    

    Perintah az storage account create membuat akun penyimpanan.

    Dalam contoh sebelumnya, ganti <STORAGE_NAME> dengan nama yang sesuai untuk Anda dan unik di Azure Storage. Nama harus berisi angka 3 hingga 24 karakter dan huruf kecil saja. Standard_LRS menentukan akun tujuan umum yang didukung oleh Functions.

    Akun penyimpanan hanya dikenakan biaya beberapa sen (USD) untuk panduan mulai cepat ini.

  4. Buat aplikasi fungsi di Azure.

    az functionapp create --resource-group AzureFunctionsQuickstart-rg --consumption-plan-location westeurope --runtime python --runtime-version <PYTHON_VERSION> --functions-version 4 --name <APP_NAME> --os-type linux --storage-account <STORAGE_NAME>
    

    Perintah az functionapp create membuat aplikasi fungsi di Azure. Anda harus menyediakan --os-type linux karena fungsi Python hanya berjalan di Linux.

    Dalam contoh sebelumnya, ganti <APP_NAME> dengan nama unik global yang sesuai untuk Anda. <APP_NAME> juga merupakan subdomain default untuk aplikasi fungsi. Pastikan bahwa nilai yang Anda tetapkan <PYTHON_VERSION> adalah versi yang didukung oleh Functions dan merupakan versi yang sama dengan yang Anda gunakan selama pengembangan lokal.

    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, Anda memanggilnya dengan membuat permintaan HTTP ke URL-nya di browser atau dengan alat seperti curl.

Salin lengkap URL Pemanggilan yang muncul di output perintah publish ke bilah alamat browser, dan tambahkan parameter kueri ?name=Functions. Browser harus menampilkan output yang sama seperti saat Anda menjalankan fungsi secara lokal.

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

Langkah selanjutnya

Mengalami masalah dengan artikel ini?