Menggunakan Java dan Gradle untuk membuat dan menerbitkan fungsi ke Azure

Artikel ini menunjukkan cara membangun dan menerbitkan proyek fungsi Java ke Azure Functions dengan alat baris perintah Gradle. Setelah selesai, kode fungsi Anda berjalan di Azure dalam paket hosting tanpa server dan dipicu oleh permintaan HTTP.

Catatan

Jika Gradle bukan alat pengembangan pilihan Anda, lihat tutorial serupa kami untuk pengembang Java menggunakan Maven, IntelliJ IDEA, dan Visual Studio Code.

Prasyarat

Untuk mengembangkan fungsi menggunakan Java, Anda harus menginstal yang berikut:

Anda juga memerlukan langganan Azure aktif. Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.

Penting

Variabel lingkungan JAVA_HOME harus diatur ke lokasi instalasi JDK untuk menyelesaikan quickstart ini.

Menyiapkan proyek Functions

Gunakan perintah berikut untuk membuat klon proyek sampel:

git clone https://github.com/Azure-Samples/azure-functions-samples-java.git
cd azure-functions-samples-java/

Buka build.gradle dan ubah appName di bagian berikut menjadi nama unik untuk menghindari konflik nama domain saat diterapkan ke Azure.

azurefunctions {
    resourceGroup = 'java-functions-group'
    appName = 'azure-functions-sample-demo'
    pricingTier = 'Consumption'
    region = 'westus'
    runtime {
      os = 'windows'
    }
    localDebug = "transport=dt_socket,server=y,suspend=n,address=5005"
}

Buka file Function.java baru dari jalur src/main/java di editor teks dan tinjau kode yang dibuat. Kode ini adalah fungsi yang dipicu HTTP yang menggemakan isi permintaan.

Jalankan fungsi secara lokal

Jalankan perintah berikut untuk membangun, kemudian jalankan proyek fungsi:

gradle jar --info
gradle azureFunctionsRun

Anda melihat output seperti berikut dari Azure Functions Core Tools saat menjalankan proyek secara lokal:

...

Now listening on: http://0.0.0.0:7071
Application started. Press Ctrl+C to shut down.

Http Functions:

    HttpExample: [GET,POST] http://localhost:7071/api/HttpExample
...

Picu fungsi dari baris perintah menggunakan perintah cURL berikut di jendela terminal baru:

curl -w "\n" http://localhost:7071/api/HttpExample --data AzureFunctions

Output yang diharapkan adalah sebagai berikut:

Hello, AzureFunctions

Catatan

Jika Anda mengatur authLevel ke FUNCTION atau ADMIN, tombol fungsi tidak diperlukan saat menjalankan secara lokal.

Gunakan Ctrl+C di terminal untuk menghentikan kode fungsi.

Terapkan fungsi ke Azure

Aplikasi fungsi dan sumber daya terkait dibuat di Azure saat Anda pertama kali menerapkan proyek fungsi. Sebelum Anda dapat menerapkan, gunakan perintah az login Azure CLI untuk masuk ke langganan Azure Anda.

az login

Tip

Jika akun Anda dapat mengakses beberapa langganan, gunakan az account set untuk mengatur langganan default untuk sesi ini.

Gunakan perintah berikut untuk menerapkan proyek Anda ke aplikasi fungsi baru.

gradle azureFunctionsDeploy

Langkah ini membuat sumber daya berikut di Azure, berdasarkan nilai di file build.gradle:

  • Grup sumber daya. Dinamai dengan resourceGroup yang Anda sediakan.
  • Akun penyimpanan. Diperlukan oleh Functions. Nama ini dibuat secara acak berdasarkan persyaratan nama akun Azure Storage.
  • Paket Azure App Service. Meng-host paket Konsumsi Tanpa Server untuk aplikasi fungsi Anda di wilayah yang ditentukan. Namanya dibuat secara acak.
  • Aplikasi fungsi. Aplikasi fungsi adalah unit penerapan dan eksekusi untuk fungsi Anda. Namanya adalah appName Anda yang ditambahkan dengan angka yang dihasilkan secara acak.

Penerapan juga mengemas file proyek dan menerapkannya ke aplikasi fungsi baru menggunakan penerapan zipdengan mode run-from-package diaktifkan.

AuthLevel untuk Pemicu HTTP dalam proyek sampel adalah ANONYMOUS, yang akan melompati autentikasi. Namun, jika Anda menggunakan authLevel lain seperti FUNCTION atau ADMIN, Anda perlu mendapatkan tombol fungsi untuk memanggil titik akhir fungsi melalui HTTP. Cara termudah untuk mendapatkan tombol fungsi adalah dari portal Microsoft Azure.

Mendapatkan URL pemicu HTTP

Anda bisa mendapatkan URL yang diperlukan untuk memicu fungsi Anda dengan tombol fungsi dari portal Microsoft Azure.

  1. Telusuri ke portal Microsoft Azure, masuk, ketik appName aplikasi fungsi Anda ke dalam Pencarian di bagian atas halaman, dan tekan enter.

  2. Di aplikasi fungsi Anda, pilih Fungsi, pilih fungsi Anda, lalu klik Dapatkan Url Fungsi di kanan atas.

    Copy the function URL from the Azure portal

  3. Pilih default (Tombol fungsi) dan pilih Salin.

Anda sekarang dapat menggunakan URL yang disalin untuk mengakses fungsi Anda.

Memverifikasi fungsi di Azure

Untuk memverifikasi aplikasi fungsi yang berjalan di Azure menggunakan cURL, ganti URL dari sampel di bawah ini dengan URL yang Anda salin dari portal.

curl -w "\n" http://azure-functions-sample-demo.azurewebsites.net/api/HttpExample --data AzureFunctions

Ini mengirimkan permintaan POST ke titik akhir fungsi dengan AzureFunctions di isi permintaan. Anda melihat respons berikut.

Hello, AzureFunctions

Langkah berikutnya

Anda telah membuat proyek fungsi Java dengan fungsi yang dipicu HTTP, menjalankannya di mesin lokal Anda, dan menerapkannya ke Azure. Sekarang, kembangkan fungsi Anda dengan...