Bagikan melalui


Mulai cepat: Membuat fungsi di Azure dari baris perintah

Dalam artikel ini, Anda menggunakan alat baris perintah lokal untuk membuat fungsi yang merespons permintaan HTTP. Setelah memverifikasi kode Anda secara lokal, Anda menyebarkannya ke paket hosting Konsumsi Flex tanpa server di Azure Functions.

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

Pastikan untuk memilih bahasa pengembangan pilihan Anda di bagian atas artikel.

Prerequisites

  • Kit Pengembang Java 17
    • Jika Anda menggunakan versi Java lain yang didukung, Anda harus memperbarui file pom.xml proyek.
    • Variabel JAVA_HOME lingkungan harus diatur ke lokasi penginstalan versi Java Development Kit (JDK) yang benar.
  • Apache Maven 3.8.x
  • Go, versi terbaru direkomendasikan. Gunakan perintah go version untuk memeriksa versi Anda.

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.

Membuat dan mengaktifkan lingkungan virtual

Di folder yang sesuai, jalankan perintah berikut untuk membuat dan mengaktifkan lingkungan virtual bernama .venv. Pastikan untuk menggunakan salah satu 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 proyek dan fungsi kode lokal

Di Azure Functions, proyek kode Anda adalah aplikasi yang berisi satu atau beberapa fungsi individual yang masing-masing merespons pemicu tertentu. Semua fungsi dalam proyek memiliki konfigurasi yang sama dan disebarkan sebagai unit ke Azure. Di bagian ini, Anda membuat proyek kode yang berisi satu fungsi.

  1. Di terminal atau prompt perintah, jalankan perintah ini func init untuk membuat proyek aplikasi fungsi di folder saat ini:

    func init --worker-runtime dotnet-isolated 
    
  1. Di terminal atau prompt perintah, jalankan perintah ini func init untuk membuat proyek aplikasi fungsi di folder saat ini:

    func init --worker-runtime node --language javascript 
    
  1. Di terminal atau prompt perintah, jalankan perintah ini func init untuk membuat proyek aplikasi fungsi di folder saat ini:

    func init --worker-runtime powershell 
    
  1. Di terminal atau prompt perintah, jalankan perintah ini func init untuk membuat proyek aplikasi fungsi di folder saat ini:

    func init --worker-runtime python 
    
  1. Di terminal atau prompt perintah, jalankan perintah ini func init untuk membuat proyek aplikasi fungsi di folder saat ini:

    func init --worker-runtime node --language typescript 
    
  1. Di terminal atau prompt perintah, jalankan perintah ini func init untuk membuat proyek aplikasi fungsi di folder saat ini:

    func init --worker-runtime custom 
    
  1. Di folder kosong, jalankan perintah ini mvn untuk menghasilkan proyek kode dari arketipe Azure Functions Maven:

    mvn archetype:generate -DarchetypeGroupId=com.microsoft.azure -DarchetypeArtifactId=azure-functions-archetype -DjavaVersion=17
    

    Important

    • Gunakan -DjavaVersion=11 jika Anda ingin fungsi Anda berjalan di Java 11. Untuk mempelajari lebih lanjut, lihat Versi Java.
    • Atur JAVA_HOME variabel lingkungan ke lokasi penginstalan versi JDK yang benar untuk menyelesaikan artikel ini.
  2. Maven meminta Anda memasukkan nilai yang diperlukan untuk menyelesaikan pembuatan proyek selama penyebaran.
    Berikan nilai berikut saat diminta:

    Prompt Value Description
    groupId com.fabrikam Nilai yang secara unik mengidentifikasi proyek Anda dari semua proyek, mengikuti aturan penamaan paket untuk Java.
    artifactId fabrikam-functions Sebuah nilai yang merupakan nama jar, tanpa nomor versi.
    version 1.0-SNAPSHOT Pilih nilai default.
    package com.fabrikam Nilai yang merupakan paket Java untuk kode fungsi yang dihasilkan. Gunakan default.
  3. Ketik Y atau tekan Enter untuk mengonfirmasi.

    Maven membuat file proyek di folder baru dengan nama artifactId, yang dalam contoh ini adalah fabrikam-functions.

  4. Navigasi ke folder proyek:

    cd fabrikam-functions
    

    Anda dapat meninjau kode yang dihasilkan templat untuk fungsi pemicu HTTP baru Anda di Function.java di direktori proyek \src\main\java\com\fabrikam .

  1. Gunakan perintah ini func new untuk menambahkan fungsi ke proyek Anda:

    func new --name HttpExample --template "HTTP trigger" --authlevel "function"
    

    File kode baru ditambahkan ke proyek Anda. Dalam hal ini, --name argumen adalah nama unik fungsi Anda (HttpExample) dan --template argumen menentukan pemicu HTTP.

Folder akar proyek 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.

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
    

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 tersebut.

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

Aplikasi fungsi dikonfigurasi untuk membuat pengelola kustom Anda dapat dieksekusi.

Jalankan fungsi secara lokal

Verifikasi fungsi baru Anda dengan menjalankan proyek secara lokal dan memanggil titik akhir fungsi.

  1. Gunakan perintah ini untuk memulai host runtime Azure Functions lokal di akar folder proyek:

    func start  
    
    npm install
    npm start
    
    mvn clean package  
    mvn azure-functions:run
    

    Menjelang akhir output, baris berikut muncul:

     ...
    
     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
     ...
    
     
  2. Salin URL fungsi Anda HttpExample dari output ini ke browser dan telusuri ke URL fungsi. Anda harus menerima respons sukses dengan pesan "halo dunia".

    Note

    Karena otorisasi kunci akses tidak diberlakukan saat berjalan secara lokal, URL fungsi yang dikembalikan tidak menyertakan nilai kunci akses dan Anda tidak memerlukannya untuk memanggil fungsi Anda.

  3. Jika sudah selesai, gunakan Ctrl+C dan pilih y untuk menghentikan hosting fungsi.

Membuat sumber daya Azure pendukung untuk fungsi Anda

Sebelum dapat menyebarkan kode fungsi ke Azure, Anda perlu membuat sumber daya ini:

  • Grup sumber daya, yang merupakan kontainer logis untuk sumber daya terkait.
  • Akun Penyimpanan default, yang digunakan oleh host Functions untuk mempertahankan status dan informasi lain tentang fungsi Anda.
  • Identitas terkelola yang ditetapkan pengguna, yang digunakan host Functions untuk menyambungkan ke akun penyimpanan default.
  • 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 Azure CLI dalam langkah-langkah ini untuk membuat sumber daya yang diperlukan.

  1. Jika Anda belum melakukannya, masuk ke Azure:

    az login
    

    Perintah memasukkan az login Anda ke akun Azure Anda. Lewati langkah ini saat berjalan di Azure Cloud Shell.

  2. Jika Anda belum melakukannya, gunakan perintah ini az extension add untuk menginstal ekstensi Application Insights:

    az extension add --name application-insights
    
  3. Gunakan perintah az group create ini untuk membuat grup sumber daya bernama AzureFunctionsQuickstart-rg di wilayah pilihan Anda:

    az group create --name "AzureFunctionsQuickstart-rg" --location "<REGION>"
    

    Dalam contoh ini, ganti <REGION> dengan wilayah di dekat Anda yang mendukung paket Konsumsi Flex. Gunakan perintah az functionapp list-flexconsumption-locations untuk melihat daftar wilayah yang saat ini didukung.

  4. Gunakan perintah az storage account create ini untuk membuat akun penyimpanan tujuan umum di grup sumber daya dan wilayah Anda:

    az storage account create --name <STORAGE_NAME> --location "<REGION>" --resource-group "AzureFunctionsQuickstart-rg" \
    --sku "Standard_LRS" --allow-blob-public-access false --allow-shared-key-access false
    

    Dalam contoh ini, ganti <STORAGE_NAME> dengan nama yang sesuai untuk Anda dan unik di Azure Storage. Nama harus berisi tiga hingga 24 karakter angka dan huruf kecil saja. Standard_LRS menentukan akun tujuan umum, yang didukung oleh Functions. Akun baru ini hanya dapat diakses dengan menggunakan identitas terautentikasi Microsoft Entra yang telah diberikan izin ke sumber daya tertentu.

  5. Gunakan skrip ini untuk membuat identitas terkelola yang ditetapkan pengguna, uraikan properti JSON yang dikembalikan dari objek menggunakan jq, dan berikan Storage Blob Data Owner izin di akun penyimpanan default:

    output=$(az identity create --name "func-host-storage-user" --resource-group "AzureFunctionsQuickstart-rg" --location <REGION> \
    --query "{userId:id, principalId: principalId, clientId: clientId}" -o json)
    
    userId=$(echo $output | jq -r '.userId')
    principalId=$(echo $output | jq -r '.principalId')
    clientId=$(echo $output | jq -r '.clientId')
    
    storageId=$(az storage account show --resource-group "AzureFunctionsQuickstart-rg" --name <STORAGE_NAME> --query 'id' -o tsv)
    az role assignment create --assignee-object-id $principalId --assignee-principal-type ServicePrincipal \
    --role "Storage Blob Data Owner" --scope $storageId
    

    Jika Anda tidak memiliki jq utilitas di shell Bash lokal Anda, utilitas tersebut tersedia di Azure Cloud Shell. Dalam contoh ini, ganti <STORAGE_NAME> dan <REGION> dengan nama dan wilayah akun penyimpanan default Anda.

    Perintah az identity create membuat identitas bernama func-host-storage-user. Yang dikembalikan principalId digunakan untuk menetapkan izin ke identitas baru ini di akun penyimpanan default dengan menggunakan az role assignment create perintah . Perintah az storage account show digunakan untuk mendapatkan ID akun penyimpanan.

  6. Gunakan perintah az functionapp create ini untuk membuat aplikasi fungsi di Azure:

    az functionapp create --resource-group "AzureFunctionsQuickstart-rg" --name <APP_NAME> --flexconsumption-location <REGION> \
    --runtime dotnet-isolated --runtime-version <LANGUAGE_VERSION> --storage-account <STORAGE_NAME> \
    --deployment-storage-auth-type UserAssignedIdentity --deployment-storage-auth-value "func-host-storage-user"
    
    az functionapp create --resource-group "AzureFunctionsQuickstart-rg" --name <APP_NAME> --flexconsumption-location <REGION> \
    --runtime java --runtime-version <LANGUAGE_VERSION> --storage-account <STORAGE_NAME> \
    --deployment-storage-auth-type UserAssignedIdentity --deployment-storage-auth-value "func-host-storage-user"
    
    az functionapp create --resource-group "AzureFunctionsQuickstart-rg" --name <APP_NAME> --flexconsumption-location <REGION> \
    --runtime node --runtime-version <LANGUAGE_VERSION> --storage-account <STORAGE_NAME> \
    --deployment-storage-auth-type UserAssignedIdentity --deployment-storage-auth-value "func-host-storage-user"
    
    az functionapp create --resource-group "AzureFunctionsQuickstart-rg" --name <APP_NAME> --flexconsumption-location <REGION> \
    --runtime python --runtime-version <LANGUAGE_VERSION> --storage-account <STORAGE_NAME> \
    --deployment-storage-auth-type UserAssignedIdentity --deployment-storage-auth-value "func-host-storage-user"
    
    az functionapp create --resource-group "AzureFunctionsQuickstart-rg" --name <APP_NAME> --flexconsumption-location <REGION> \
    --runtime python --runtime-version <LANGUAGE_VERSION> --storage-account <STORAGE_NAME> \
    --deployment-storage-auth-type UserAssignedIdentity --deployment-storage-auth-value "func-host-storage-user"
    
    az functionapp create --resource-group "AzureFunctionsQuickstart-rg" --name <APP_NAME> --flexconsumption-location <REGION> \
    --runtime other --storage-account <STORAGE_NAME> \
    --deployment-storage-auth-type UserAssignedIdentity --deployment-storage-auth-value "func-host-storage-user"
    

    Dalam contoh ini, ganti tempat penampung ini dengan nilai yang sesuai:

    • <APP_NAME>: nama unik global yang sesuai untuk Anda. <APP_NAME> juga merupakan domain DNS default untuk aplikasi fungsi.
    • <STORAGE_NAME>: nama akun yang Anda gunakan di langkah sebelumnya.
    • <REGION>: wilayah Anda saat ini.
    • <LANGUAGE_VERSION>: gunakan versi tumpukan bahasa yang didukung yang sama dengan yang Anda verifikasi secara lokal, jika berlaku.

    Perintah ini membuat aplikasi fungsi yang berjalan dalam runtime bahasa yang Anda tentukan di Linux dalam Flex Consumption Plan, yang gratis untuk jumlah penggunaan yang Anda lakukan di sini. Perintah ini juga membuat instans Azure Application Insights terkait dalam grup sumber daya yang sama, yang dapat Anda gunakan untuk memantau eksekusi aplikasi fungsi Anda dan melihat log. Untuk informasi lebih lanjut, lihat Monitor Azure Functions. Instance tidak dikenakan biaya apapun sampai Anda mengaktifkannya.

  7. Gunakan skrip ini untuk menambahkan identitas terkelola yang ditetapkan pengguna Anda ke peran Penerbit Metrik Pemantauan dalam instans Application Insights Anda:

    appInsights=$(az monitor app-insights component show --resource-group "AzureFunctionsQuickstart-rg" \
        --app <APP_NAME> --query "id" --output tsv)
    principalId=$(az identity show --name "func-host-storage-user" --resource-group "AzureFunctionsQuickstart-rg" \
        --query principalId -o tsv)
    az role assignment create --role "Monitoring Metrics Publisher" --assignee $principalId --scope $appInsights
    

    Dalam contoh ini, ganti <APP_NAME> dengan nama aplikasi fungsi Anda. Perintah az role assignment create menambahkan pengguna Anda ke peran. ID sumber daya instance Application Insights Anda dan ID utama pengguna Anda diperoleh dengan menggunakan perintah az monitor app-insights component show dan az identity show masing-masing.

Memperbarui pengaturan aplikasi

Untuk mengaktifkan host Functions untuk terhubung ke akun penyimpanan default dengan menggunakan rahasia bersama, ganti AzureWebJobsStorage pengaturan string koneksi dengan beberapa pengaturan yang diawali dengan AzureWebJobsStorage__. Pengaturan ini menetapkan konfigurasi kompleks yang digunakan aplikasi Anda untuk terhubung ke penyimpanan dan Application Insights menggunakan identitas terkelola yang ditugaskan oleh pengguna.

  1. Gunakan skrip ini untuk mendapatkan ID klien dari identitas terkelola yang ditetapkan pengguna dan menggunakannya untuk menentukan koneksi identitas terkelola ke penyimpanan dan Application Insights:

    clientId=$(az identity show --name func-host-storage-user \
        --resource-group AzureFunctionsQuickstart-rg --query 'clientId' -o tsv)
    az functionapp config appsettings set --name <APP_NAME> --resource-group "AzureFunctionsQuickstart-rg" \
        --settings AzureWebJobsStorage__accountName=<STORAGE_NAME> \
        AzureWebJobsStorage__credential=managedidentity AzureWebJobsStorage__clientId=$clientId \
        APPLICATIONINSIGHTS_AUTHENTICATION_STRING="ClientId=$clientId;Authorization=AAD"
    

    Dalam skrip ini, ganti <APP_NAME> dan <STORAGE_NAME> dengan nama aplikasi fungsi dan akun penyimpanan Anda.

  2. Jalankan perintah az functionapp config appsettings delete untuk menghapus pengaturan string koneksi yang ada AzureWebJobsStorage , yang berisi kunci rahasia bersama:

    az functionapp config appsettings delete --name <APP_NAME> --resource-group "AzureFunctionsQuickstart-rg" --setting-names AzureWebJobsStorage
    

    Dalam contoh ini, ganti <APP_NAME> dengan nama aplikasi fungsi Anda.

Pada titik ini, host Functions dapat terhubung ke akun penyimpanan dengan aman dengan menggunakan identitas terkelola alih-alih rahasia bersama. Anda sekarang dapat menyebarkan kode proyek Anda ke sumber daya Azure.

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 .

  1. 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
     
  2. Di terminal lokal atau prompt perintah Anda, jalankan perintah ini untuk mendapatkan nilai titik akhir URL, termasuk kunci akses:

    func azure functionapp list-functions <APP_NAME> --show-keys
    

    Dalam contoh ini, ganti <APP_NAME> lagi dengan nama aplikasi Anda.

  3. Salin URL dan kunci titik akhir yang dikembalikan, yang Anda gunakan untuk memanggil titik akhir fungsi.

Memperbarui file pom.xml

Setelah berhasil membuat aplikasi fungsi di Azure, perbarui file pom.xml sehingga Maven dapat menyebarkan ke aplikasi baru Anda. Jika tidak, Maven membuat sekumpulan sumber daya Azure baru selama penyebaran.

  1. Di Azure Cloud Shell, gunakan perintah ini az functionapp show untuk mendapatkan URL kontainer penyebaran dan ID identitas terkelola baru yang ditetapkan pengguna:

    az functionapp show --name <APP_NAME> --resource-group AzureFunctionsQuickstart-rg  \
        --query "{userAssignedIdentityResourceId: properties.functionAppConfig.deployment.storage.authentication.userAssignedIdentityResourceId, \
        containerUrl: properties.functionAppConfig.deployment.storage.value}"
    

    Dalam contoh ini, ganti <APP_NAME> dengan nama aplikasi fungsi Anda.

  2. Di direktori akar proyek, buka file pom.xml di editor teks, temukan properties elemen, dan perbarui nilai properti tertentu ini:

    Nama properti Value
    java.version Gunakan versi tumpukan bahasa yang didukung yang sama dengan yang Anda verifikasi secara lokal, seperti 17.
    azure.functions.maven.plugin.version 1.37.1
    azure.functions.java.library.version 3.1.0
    functionAppName Nama aplikasi fungsi Anda di Azure.
  3. Temukan bagian configurationazure-functions-maven-plugin dan ganti dengan fragmen XML ini:

    <configuration>
        <appName>${functionAppName}</appName>
        <resourceGroup>AzureFunctionsQuickstart-rg</resourceGroup>
        <pricingTier>Flex Consumption</pricingTier>
        <region>....</region>
        <runtime>
            <os>linux</os>
            <javaVersion>${java.version}</javaVersion>
        </runtime>
        <deploymentStorageAccount>...</deploymentStorageAccount>
        <deploymentStorageResourceGroup>AzureFunctionsQuickstart-rg</deploymentStorageResourceGroup>
        <deploymentStorageContainer>...</deploymentStorageContainer>
        <storageAuthenticationMethod>UserAssignedIdentity</storageAuthenticationMethod>
        <userAssignedIdentityResourceId>...</userAssignedIdentityResourceId>
        <appSettings>
            <property>
                <name>FUNCTIONS_EXTENSION_VERSION</name>
                <value>~4</value>
            </property>
        </appSettings>
    </configuration>
    
  4. Dalam elemen baru configuration , buat penggantian spesifik nilai elipsis (...):

    Configuration Value
    region Kode wilayah aplikasi fungsi yang ada, seperti eastus.
    deploymentStorageAccount Nama akun penyimpanan Anda.
    deploymentStorageContainer Nama berbagi penyebaran, yang muncul setelah \ dalam containerUrl nilai yang Anda peroleh.
    userAssignedIdentityResourceId ID sumber daya yang berkualifikasi penuh dari identitas terkelola Anda, yang telah Anda peroleh.
  5. Simpan perubahan Anda ke file pom.xml .

Sekarang Anda dapat menggunakan Maven untuk menyebarkan proyek kode ke aplikasi yang sudah ada.

Menyebarkan proyek fungsi ke Azure

  1. Dari command prompt, jalankan perintah ini:

    mvn clean package azure-functions:deploy
    
  2. Setelah penyebaran Anda berhasil, jalankan perintah Core Tools ini untuk mendapatkan nilai titik akhir URL, termasuk kunci akses:

    func azure functionapp list-functions <APP_NAME> --show-keys
    

    Dalam contoh ini, ganti <APP_NAME> lagi dengan nama aplikasi Anda.

  3. Salin URL dan kunci titik akhir yang dikembalikan, yang Anda gunakan untuk memanggil titik akhir fungsi.

Menggunakan fungsi pada Azure

Karena fungsi Anda menggunakan pemicu HTTP dan mendukung permintaan GET, Anda memanggilnya dengan membuat permintaan HTTP ke URL-nya menggunakan kunci akses tingkat fungsi. Paling mudah untuk menjalankan permintaan GET di browser.

Tempelkan URL dan kunci akses yang Anda salin ke bilah alamat browser.

URL titik akhir akan terlihat seperti contoh ini:

https://contoso-app.azurewebsites.net/api/httpexample?code=aabbccdd...

Dalam hal ini, Anda juga harus menyediakan kunci akses dalam string kueri saat membuat permintaan GET ke URL titik akhir. Menggunakan kunci akses disarankan untuk membatasi akses dari klien acak. Saat membuat permintaan POST menggunakan klien HTTP, Anda harus memberikan kunci akses di x-functions-key header.

Ketika Anda membuka URL ini, browser akan 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