Usar Java e Gradle para criar e publicar uma função no Azure
Este artigo mostra como criar e publicar um projeto de função Java no Azure Functions com a ferramenta de linha de comando Gradle. Quando terminar, seu código de função é executado no Azure em um plano de hospedagem sem servidor e é acionado por uma solicitação HTTP.
Nota
Se o Gradle não for sua ferramenta de desenvolvimento preferida, confira nossos tutoriais semelhantes para desenvolvedores Java usando Maven, IntelliJ IDEA e VS Code.
Pré-requisitos
Para desenvolver funções com o Java, tem de ter o seguinte instalado:
- Java Developer Kit, versão 8, 11, 17 ou 21. (Java 21 é atualmente suportado na pré-visualização apenas no Linux)
- CLI do Azure
- Ferramentas Principais do Azure Functions versão 2.6.666 ou superior
- Gradle, versão 6.8 e superior
Você também precisa de uma assinatura ativa do Azure. Se não tiver uma subscrição do Azure, crie uma conta gratuita do Azure antes de começar.
Importante
A variável de ambiente do JAVA_HOME tem de ser definida para a localização de instalação do JDK para concluir este guia de introdução.
Preparar um projeto do Functions
Use o seguinte comando para clonar o projeto de exemplo:
git clone https://github.com/Azure-Samples/azure-functions-samples-java.git
cd azure-functions-samples-java/triggers-bindings
Abra build.gradle
e altere a appName
seção a seguir para um nome exclusivo para evitar conflitos de nomes de domínio ao implantar no 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"
}
Abra o novo arquivo Function.java a partir do caminho src/main/java em um editor de texto e revise o código gerado. Esse código é uma função acionada por HTTP que ecoa o corpo da solicitação.
Executar a função localmente
Execute o seguinte comando para construir e, em seguida, execute o projeto de função:
gradle jar --info
gradle azureFunctionsRun
Você vê saídas como as seguintes das Ferramentas Principais do Azure Functions quando executa o projeto localmente:
... 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 ...
Acione a função a partir da linha de comando usando o seguinte comando cURL em uma nova janela do terminal:
curl -w "\n" http://localhost:7071/api/HttpExample --data AzureFunctions
A saída esperada é a seguinte:
Hello, AzureFunctions
Nota
Se você definir authLevel como FUNCTION
ou ADMIN
, a chave de acesso não será necessária ao executar localmente.
Utilize Ctrl+C
no terminal para parar o código de função.
Implementar a função no Azure
Um aplicativo de função e recursos relacionados são criados no Azure quando você implanta seu aplicativo de função pela primeira vez. Antes de implantar, use o comando az login da CLI do Azure para entrar em sua assinatura do Azure.
az login
Gorjeta
Se sua conta puder acessar várias assinaturas, use az account set para definir a assinatura padrão para esta sessão.
Use o comando a seguir para implantar seu projeto em um novo aplicativo de função.
gradle azureFunctionsDeploy
Isso cria os seguintes recursos no Azure, com base nos valores no arquivo build.gradle:
- Grupo de recursos. Nomeado com o resourceGroup fornecido.
- Conta de armazenamento. Exigido por funções. O nome é gerado aleatoriamente com base nos requisitos de nome da conta de armazenamento.
- Plano do Serviço de Aplicações. Hospedagem do plano de consumo sem servidor para seu aplicativo de função na região especificada. O nome é gerado aleatoriamente.
- Aplicativo de função. Um aplicativo de função é a unidade de implantação e execução para suas funções. O nome é seu appName, anexado com um número gerado aleatoriamente.
A implantação também empacota os arquivos de projeto e os implanta no novo aplicativo de função usando a implantação zip, com o modo run-from-package habilitado.
O authLevel para HTTP Trigger no projeto de exemplo é ANONYMOUS
, que ignorará a autenticação. No entanto, se você usar outro authLevel como FUNCTION
ou ADMIN
, você precisa obter a tecla de função para chamar o ponto de extremidade da função por HTTP. A maneira mais fácil de obter a chave de função é a partir do portal do Azure.
Obter o URL do gatilho HTTP
Você pode obter a URL necessária para acionar sua função, com a chave de função, no portal do Azure.
Navegue até o portal do Azure, entre, digite o appName do seu aplicativo de função em Pesquisar na parte superior da página e pressione enter.
Na sua aplicação de funções, selecione Funções, escolha a sua função e, em seguida, clique em Obter URL da Função no canto superior direito.
Escolha o padrão (Tecla de função) e selecione Copiar.
Agora você pode usar o URL copiado para acessar sua função.
Verificar a função no Azure
Para verificar o aplicativo de função em execução no Azure usando cURL
o , substitua a URL do exemplo abaixo pela URL que você copiou do portal.
curl -w "\n" http://azure-functions-sample-demo.azurewebsites.net/api/HttpExample --data AzureFunctions
Isso envia uma solicitação POST para o ponto de extremidade da função com AzureFunctions
no corpo da solicitação. Você verá a seguinte resposta.
Hello, AzureFunctions
Próximos passos
Criou um projeto de funções Java com uma função acionada por HTTP, executou-o na máquina local e implementou-o no Azure. Agora, pode expandir a função...
Adding an Azure Storage queue output binding (Adicionar um enlace de saída da fila de Armazenamento do Azure)