Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Gradle komut satırı aracıyla Azure İşlevleri için bir Java işlev projesi oluşturma ve yayımlama gösterilmektedir. İşiniz bittiğinde işlev kodunuz Azure'da sunucusuz bir barındırma planında çalışır ve bir HTTP isteği tarafından tetikler.
Not
Tercih ettiğiniz geliştirme aracı Gradle değilse Maven, IntelliJ IDEA ve VS Code kullanan Java geliştiricilerine yönelik benzer öğreticilerimize göz atın.
Önkoşullar
Java kullanarak işlev uygulamaları geliştirebilmeniz için şunlar yüklü olmalıdır:
- Java Developer Kit, sürüm 8, 11, 17 veya 21. (Java 21 şu anda yalnızca Linux'ta desteklenmektedir)
- Azure CLI
- Azure İşlevleri Core Tools sürüm 2.6.666 veya üzeri
- Gradle, sürüm 6.8 ve üzeri
Ayrıca etkin bir Azure aboneliğine de ihtiyacınız vardır. Azure hesabınız yoksa, başlamadan önce ücretsiz hesap oluşturun.
Önemli
Bu hızlı başlangıcın tamamlanabilmesi için JAVA_HOME ortam değişkeni JDK’nin yükleme konumu olarak ayarlanmalıdır.
İşlevler projesi hazırlama
Örnek projeyi kopyalamak için aşağıdaki komutu kullanın:
git clone https://github.com/Azure-Samples/azure-functions-samples-java.git
cd azure-functions-samples-java/triggers-bindings
build.gradle öğesini açın ve Azure’a dağıtırken etki alanı adı çakışmasını önlemek için aşağıdaki bölümdeki appName öğesini benzersiz bir adla değiştirin.
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"
}
src/main/java yolundaki yeni Function.java dosyasını bir metin düzenleyicisinde açın ve oluşturulan kodu gözden geçirin. Bu kod, isteğin gövdesini geri döndüren HTTP ile tetiklenen bir işlevdir.
İşlevi yerel olarak çalıştırma
Aşağıdaki komutu çalıştırarak işlev projesini oluşturun ve çalıştırın:
gradle jar --info
gradle azureFunctionsRun
Projeyi yerel olarak çalıştırdığınızda Azure İşlevleri Çekirdek Araçları'ndan aşağıdakine benzer bir çıktı görürsünüz:
...
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
...
Yeni bir terminal penceresinde aşağıdaki cURL komutunu kullanarak komut satırından işlevi tetikleyin:
curl -w "\n" http://localhost:7071/api/HttpExample --data AzureFunctions
Beklenen çıkış aşağıdaki gibidir:
Hello, AzureFunctions
Not
authLevel değerini FUNCTION veya ADMIN olarak ayarlarsanız, yerel ortamda çalıştırırken erişim anahtarı gerekmez.
İşlev kodunu durdurmak için terminalde Ctrl+C komutunu kullanın.
İşlevi Azure’a dağıtma
İşlev uygulamanızı ilk dağıttığınızda Azure'da bir işlev uygulaması ve ilgili kaynaklar oluşturulur. Dağıtabilmeniz için önce az login Azure CLI komutunu kullanarak Azure aboneliğinizde oturum açın.
az login
İpucu
Hesabınız birden çok aboneliğe erişebiliyorsa, bu oturum için varsayılan aboneliği ayarlamak için az account set komutunu kullanın.
Projenizi yeni bir işlev uygulamasına dağıtmak için aşağıdaki komutu kullanın.
gradle azureFunctionsDeploy
Bu, build.gradle dosyasındaki değerlere göre Azure'da aşağıdaki kaynakları oluşturur:
- Kaynak grubu. Sağladığınız resourceGroup ile adlandırıldı.
- Depolama hesabı. Fonksiyonlar için gereklidir. Ad, Depolama hesabı adı gereksinimlerine göre rastgele oluşturulur.
- App Service planı. İşlev uygulamanız için belirtilen bölgede sunucusuz Tüketim planı barındırma. Ad rastgele oluşturulur.
- İşlev uygulaması. İşlev uygulaması, işlevlerinizin dağıtım ve yürütme birimidir. Adınız, sonuna rastgele oluşturulmuş bir sayı eklenmiş appName adınızdır.
Dağıtım ayrıca proje dosyalarını paketler ve ZIP dağıtımı ile yeni fonksiyon uygulamasına dağıtır; paketten çalıştırma modu etkinleştirilir.
Örnek projedeki HTTP Tetikleyicisi için authLevel değeri ANONYMOUS’dir; bu da kimlik doğrulamasını atlar. Ancak, veya FUNCTIONgibi ADMIN başka bir authLevel kullanıyorsanız, HTTP üzerinden işlev uç noktasını çağırmak için işlev anahtarını almanız gerekir. İşlev anahtarını almanın en kolay yolu Azure portalındandır.
HTTP tetikleyici URL'sini alma
İşlev anahtarıyla işlevinizi tetiklemeniz için gereken URL'yi Azure portalından alabilirsiniz.
Azure portalına gidin, oturum açın, sayfanın üst kısmındaki Arama alanına işlev uygulamanızın appName değerini yazın ve Enter tuşuna basın.
İşlev uygulamanızda İşlevler'i seçin, işlevinizi seçin ve ardından sağ üstteki İşlev Url'sini Al'a tıklayın.
Varsayılan (İşlev tuşu) seçeneğini belirleyin ve Kopyala'yı seçin.
Artık işlevinize erişmek için kopyalanan URL'yi kullanabilirsiniz.
Azure'da işlevi doğrulama
kullanarak cURLAzure'da çalışan işlev uygulamasını doğrulamak için aşağıdaki örnekteki URL'yi portaldan kopyaladığınız URL ile değiştirin.
curl -w "\n" http://azure-functions-sample-demo.azurewebsites.net/api/HttpExample --data AzureFunctions
Bu, isteğin gövdesinde ile AzureFunctions işlev uç noktasına bir POST isteği gönderir. Aşağıdaki yanıtı görürsünüz.
Hello, AzureFunctions
Sonraki adımlar
HTTP ile tetiklenen işlevi olan bir Java işlev projesi oluşturdunuz, bunu yerel makinenizde çalıştırdınız ve Azure’a dağıttınız. Şimdi, şu adımı uygulayarak işlevinizi genişletin...