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 upřednostňovaným vývojářskými nástroji, podívejte se na naše podobné kurzy pro vývojáře v Javě, které používají Maven, 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 nemáte účet Azure, vytvořte si bezplatný účet 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/triggers-bindings

Otevřete build.gradle a v následující části změňte appName na jedinečný název, abyste se při nasazení do Azure vyhnuli konfliktu názvu domény.

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 nebo ADMIN, přístupový klíč 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

Návod

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 podle zadané hodnoty resourceGroup.
  • Účet úložiště. Vyžadováno funkcemi. 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é hostování v plánu Consumption pro vaši aplikaci Function App 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.

Úroveň authLevel pro HTTP Trigger v ukázkovém projektu je ANONYMOUS, což vynechá ověřování. Pokud ale používáte jinou úroveň authLevel, například FUNCTION nebo ADMIN, musíte získat klíč funkce, abyste mohli přes HTTP volat koncový bod funkce. Nejjednodušší způsob, jak získat funkční klíč, je z webu Azure Portal.

Získejte adresu 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 portál Azure, přihlaste se, do pole Hledat v horní části stránky zadejte appName své aplikace Function App 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.

    Kopírování adresy URL funkce z webu 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...