Tworzenie i publikowanie funkcji na platformie Azure przy użyciu języków Java i Gradle
W tym artykule pokazano, jak utworzyć i opublikować projekt funkcji Java w usłudze Azure Functions za pomocą narzędzia wiersza polecenia narzędzia Gradle. Po zakończeniu kod funkcji jest uruchamiany na platformie Azure w planie hostingu bezserwerowego i jest wyzwalany przez żądanie HTTP.
Uwaga
Jeśli narzędzie Gradle nie jest preferowanym narzędziem programistycznym, zapoznaj się z naszymi podobnymi samouczkami dla deweloperów języka Java korzystających z narzędzi Maven, IntelliJ IDEA i VS Code.
Wymagania wstępne
Aby opracowywać funkcje przy użyciu języka Java, musisz mieć zainstalowane następujące składniki:
- Java Developer Kit, wersja 8, 11, 17 lub 21. (Język Java 21 jest obecnie obsługiwany tylko w wersji zapoznawczej w systemie Linux)
- Interfejs wiersza polecenia platformy Azure
- Azure Functions Core Tools w wersji 2.6.666 lub nowszej
- Gradle, wersja 6.8 lub nowsza
Potrzebna jest również aktywna subskrypcja platformy Azure. Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.
Ważne
Aby wykonać wszystkie czynności opisane w tym przewodniku Szybki start, dla zmiennej środowiskowej JAVA_HOME należy ustawić lokalizację instalacji zestawu JDK.
Przygotowywanie projektu usługi Functions
Użyj następującego polecenia, aby sklonować przykładowy projekt:
git clone https://github.com/Azure-Samples/azure-functions-samples-java.git
cd azure-functions-samples-java/
Otwórz build.gradle
plik i zmień element appName
w poniższej sekcji na unikatową nazwę, aby uniknąć konfliktu nazw domen podczas wdrażania na platformie 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"
}
Otwórz nowy plik Function.java ze ścieżki src/main/java w edytorze tekstów i przejrzyj wygenerowany kod. Ten kod jest funkcją wyzwalaną przez protokół HTTP, która odzwierciedla treść żądania.
Lokalne uruchamianie funkcji
Uruchom następujące polecenie, aby skompilować, a następnie uruchom projekt funkcji:
gradle jar --info
gradle azureFunctionsRun
Podczas lokalnego uruchamiania projektu są wyświetlane dane wyjściowe podobne do następujących z narzędzi Azure Functions Core Tools:
... 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 ...
Wyzwól funkcję z wiersza polecenia przy użyciu następującego polecenia cURL w nowym oknie terminalu:
curl -w "\n" http://localhost:7071/api/HttpExample --data AzureFunctions
Oczekiwane dane wyjściowe są następujące:
Hello, AzureFunctions
Uwaga
Jeśli ustawisz wartość authLevel na FUNCTION
lub ADMIN
, klucz dostępu nie jest wymagany podczas uruchamiania lokalnego.
Aby zatrzymać wykonywanie kodu funkcji, użyj polecenia Ctrl+C
w oknie terminala.
Wdrażanie funkcji na platformie Azure
Aplikacja funkcji i powiązane zasoby są tworzone na platformie Azure podczas pierwszego wdrażania aplikacji funkcji. Przed wdrożeniem użyj polecenia az login interfejsu wiersza polecenia platformy Azure, aby zalogować się do subskrypcji platformy Azure.
az login
Napiwek
Jeśli twoje konto może uzyskać dostęp do wielu subskrypcji, użyj polecenia az account set , aby ustawić domyślną subskrypcję dla tej sesji.
Użyj następującego polecenia, aby wdrożyć projekt w nowej aplikacji funkcji.
gradle azureFunctionsDeploy
Spowoduje to utworzenie następujących zasobów na platformie Azure na podstawie wartości w pliku build.gradle:
- Grupa zasobów. Nazwana za pomocą podanej grupy zasobów.
- Konto magazynu. Wymagane przez funkcje. Nazwa jest generowana losowo na podstawie wymagań dotyczących nazwy konta magazynu.
- Plan usługi App Service. Plan użycia bezserwerowego hostowanie aplikacji funkcji w określonym regionie. Nazwa jest generowana losowo.
- Aplikacja funkcji. Aplikacja funkcji to jednostka wdrażania i wykonywania funkcji. Nazwa to nazwa _aplikacji, dołączona z losowo wygenerowaną liczbą.
Wdrożenie pakuje również pliki projektu i wdraża je w nowej aplikacji funkcji przy użyciu wdrożenia zip z włączonym trybem run-from-package.
Element authLevel dla wyzwalacza HTTP w przykładowym projekcie to ANONYMOUS
, co spowoduje pominięcie uwierzytelniania. Jeśli jednak używasz innego elementu authLevel, takiego jak FUNCTION
lub ADMIN
, musisz uzyskać klucz funkcji w celu wywołania punktu końcowego funkcji za pośrednictwem protokołu HTTP. Najprostszym sposobem uzyskania klucza funkcji jest witryna Azure Portal.
Uzyskiwanie adresu URL wyzwalacza HTTP
Adres URL wymagany do wyzwolenia funkcji przy użyciu klucza funkcji można uzyskać w witrynie Azure Portal.
Przejdź do witryny Azure Portal, zaloguj się, wpisz nazwę aplikacji funkcji w obszarze Wyszukaj w górnej części strony i naciśnij Enter.
W aplikacji funkcji wybierz pozycję Funkcje, wybierz funkcję, a następnie kliknij pozycję Pobierz adres URL funkcji w prawym górnym rogu.
Wybierz pozycję domyślną (klucz funkcji) i wybierz pozycję Kopiuj.
Teraz możesz użyć skopiowanego adresu URL, aby uzyskać dostęp do funkcji.
Weryfikowanie funkcji na platformie Azure
Aby zweryfikować aplikację funkcji działającą na platformie Azure przy użyciu polecenia cURL
, zastąp adres URL z poniższego przykładu adresem URL skopiowany z portalu.
curl -w "\n" http://azure-functions-sample-demo.azurewebsites.net/api/HttpExample --data AzureFunctions
Spowoduje to wysłanie żądania POST do punktu końcowego AzureFunctions
funkcji w treści żądania. Zostanie wyświetlona następująca odpowiedź.
Hello, AzureFunctions
Następne kroki
Utworzono projekt funkcji języka Java z funkcją wyzwalaną przez protokół HTTP, uruchomiono go na komputerze lokalnym i wdrożono na platformie Azure. Teraz możesz rozszerzyć funkcję przez...