Vytvoření a publikování funkce do Azure pomocí Javy a Gradlu

V tomto článku se dozvíte, jak sestavit a publikovat projekt funkcí Java do Azure Functions pomocí nástroje příkazového řádku Gradle. Až budete hotovi, kód funkce se spustí v Azure v bezserverovém plánu hostování a aktivuje se požadavkem HTTP.

Poznámka:

Pokud Gradle není vaším preferovaným vývojovým nástrojem, podívejte se na naše podobné kurzy pro vývojáře v Javě pomocí Mavenu, IntelliJ IDEA a VS Code.

Požadavky

K vývoji funkcí pomocí Javy musíte mít nainstalovaný následující software:

Potřebujete také aktivní předplatné Azure. Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.

Důležité

Pro dokončení tohoto rychlého startu musí být proměnná prostředí JAVA_HOME nastavená na umístění instalace sady JDK.

Příprava projektu Functions

Pomocí následujícího příkazu naklonujte ukázkový projekt:

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

Otevřete build.gradle a změňte appName v následující části jedinečný název, abyste se vyhnuli konfliktu názvů domén při nasazování do 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"
}

Otevřete nový soubor Function.java z cesty src/main/java v textovém editoru a zkontrolujte vygenerovaný kód. Tento kód je funkce aktivovaná protokolem HTTP, která odpovídá textu požadavku.

Místní spuštění funkce

Spuštěním následujícího příkazu sestavte a spusťte projekt funkce:

gradle jar --info
gradle azureFunctionsRun

Když projekt spustíte místně, zobrazí se výstup podobný následujícímu:

...

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

Pomocí následujícího příkazu cURL v novém okně terminálu aktivujte funkci z příkazového řádku:

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

Očekávaný výstup je následující:

Hello, AzureFunctions

Poznámka:

Pokud nastavíte hodnotu authLevel na FUNCTION hodnotu nebo ADMIN, klíč funkce se při místním spuštění nevyžaduje.

Pomocí klávesové zkratky Ctrl+C v terminálu zastavte kód aplikace.

Nasazení funkce do Azure

Aplikace funkcí a související prostředky se vytvoří v Azure při prvním nasazení aplikace funkcí. Před nasazením se pomocí příkazu az login Azure CLI přihlaste ke svému předplatnému Azure.

az login

Tip

Pokud má váš účet přístup k více předplatným, pomocí příkazu az account set nastavte výchozí předplatné pro tuto relaci.

Pomocí následujícího příkazu nasaďte projekt do nové aplikace funkcí.

gradle azureFunctionsDeploy

Tím se v Azure vytvoří následující prostředky na základě hodnot v souboru build.gradle:

  • Skupina prostředků. Pojmenováno pomocí skupiny prostředků , kterou jste zadali.
  • Účet úložiště. Vyžaduje funkce. Název se generuje náhodně na základě požadavků na název účtu úložiště.
  • Plán služby App Service. Bezserverový plán Consumption, který je hostitelem vaší aplikace funkcí v zadané oblasti. Název se generuje náhodně.
  • Aplikace funkcí. Aplikace funkcí je jednotka nasazení a spouštění pro vaše funkce. Název je název vaší aplikace, připojený s náhodně vygenerovaným číslem.

Nasazení také zabalí soubory projektu a nasadí je do nové aplikace funkcí pomocí nasazení zip s povoleným režimem spuštění z balíčku.

authLevel pro trigger HTTP v ukázkovém projektu je ANONYMOUS, což přeskočí ověřování. Pokud ale používáte jiný typ authLevel nebo FUNCTIONADMIN, musíte získat klíč funkce pro volání koncového bodu funkce přes PROTOKOL HTTP. Nejjednodušší způsob, jak získat funkční klíč, je z webu Azure Portal.

Získání adresy URL triggeru HTTP

Adresu URL potřebnou k aktivaci funkce můžete získat pomocí klíče funkce na webu Azure Portal.

  1. Přejděte na web Azure Portal, přihlaste se, zadejte název aplikace vaší aplikace funkcí do nabídky Hledat v horní části stránky a stiskněte enter.

  2. V aplikaci funkcí vyberte Funkce, zvolte funkci a pak klikněte na Získat adresu URL funkce v pravém horním rohu.

    Copy the function URL from the Azure portal

  3. Zvolte výchozí (klíč funkce) a vyberte Kopírovat.

K přístupu k funkci teď můžete použít zkopírovanou adresu URL.

Ověření funkce v Azure

Pokud chcete ověřit aplikaci funkcí spuštěnou v Azure pomocí cURL, nahraďte adresu URL z ukázky níže adresou URL, kterou jste zkopírovali z portálu.

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

Tím se odešle požadavek POST do koncového bodu funkce s textem AzureFunctions požadavku. Zobrazí se následující odpověď.

Hello, AzureFunctions

Další kroky

Vytvořili jste projekt funkcí v Javě s využitím funkce aktivované protokolem HTTP, spustili jste ho na místním počítači a nasadili do Azure. Teď můžete funkci rozšířit...