Usar o Java e o 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 você terminar, o código de função será executado no Azure em um plano de hospedagem sem servidor e será disparado por uma solicitação HTTP.
Observação
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 usando Java, você deve ter o seguinte instalado:
- Java Development Kit, versões 8, 11, 17 ou 21. (No momento, o Java 21 em versão prévia só tem suporte no Linux)
- CLI do Azure
- Azure Functions Core Tools versão 2.6.666 ou posterior
- Gradle, versão 6.8 e superior
Você também precisará de uma assinatura ativa do Azure. Caso você não tenha uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar.
Importante
A variável de ambiente JAVA_HOME deve ser definida como o local de instalação do JDK para concluir este guia de início rápido.
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/
Abra build.gradle
e altere o appName
na seção a seguir para um nome exclusivo, a fim de evitar conflito de nome de domínio durante a implantação 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 do caminho src/main/java em um editor de texto e examine o código gerado. Esse código é uma função disparada por HTTP que ecoa o corpo da solicitação.
Executar a função localmente
Execute o seguinte comando para compilar e, em seguida, executar o projeto de função:
gradle jar --info
gradle azureFunctionsRun
Você verá uma saída semelhante à seguinte no Azure Functions Core Tools quando executar 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 na linha de comando usando o seguinte comando cURL em uma nova janela de terminal:
curl -w "\n" http://localhost:7071/api/HttpExample --data AzureFunctions
A saída esperada é a seguinte:
Hello, AzureFunctions
Observação
Se você definir o authLevel como FUNCTION
ou ADMIN
, a chave de acesso não será necessária ao executar localmente.
Use Ctrl+C
no terminal para interromper o código da função.
Implantar a função no Azure
Um aplicativo de funções e os recursos relacionados são criados no Azure quando você implanta o aplicativo de funções pela primeira vez. Para fazer a implantação, use o comando az login da CLI do Azure para entrar em sua assinatura do Azure.
az login
Dica
Caso a sua conta possa acessar várias assinaturas, use az account set para definir a assinatura padrão para essa sessão.
Use o comando a seguir para implantar o projeto em um novo aplicativo de funções.
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. Necessária para o Functions. O nome é gerado aleatoriamente de acordo com os requisitos de nome da conta de armazenamento.
- Plano do Serviço de Aplicativo. Hospedagem de plano de consumo sem servidor para seu aplicativo de funções na region especificada. O nome é gerado aleatoriamente.
- Aplicativo de funções. Um aplicativo de funções é a unidade de implantação e execução para suas funções. O nome é o appName, acrescentado a um número gerado aleatoriamente.
A implantação também empacota os arquivos de projeto e implanta-os no novo aplicativo de funções usando zip deployment, com o modo run-from-package habilitado.
O authLevel para gatilho de HTTP no projeto de amostra é ANONYMOUS
, que irá ignorar a autenticação. No entanto, se você usar outros authLevel como FUNCTION
ou ADMIN
, será necessário obter a chave 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 é no portal do Azure.
Obter a URL do gatilho HTTP
Obtenha a URL necessária para disparar a função, com a chave de função, no portal do Azure.
Navegue até o portal do Azure, entre nele, digite o appName do aplicativo de funções em Pesquisar na parte superior da página e pressione Enter.
Em seu aplicativo de funções, selecione Funções, escolha sua função e clique em Obter Url da Função no canto superior direito.
Escolha padrão (Chave de função) e selecione Copiar.
Agora você pode usar a URL copiada para acessar a função.
Verificar a função no Azure
Para verificar o aplicativo de funções em execução no Azure usando cURL
, substitua a URL da amostra abaixo pela URL copiada do portal.
curl -w "\n" http://azure-functions-sample-demo.azurewebsites.net/api/HttpExample --data AzureFunctions
Isso envia uma solicitação POST ao ponto de extremidade da função com AzureFunctions
no corpo da solicitação. Você verá a resposta a seguir.
Hello, AzureFunctions
Próximas etapas
Você criou um projeto de funções Java com uma função disparada por HTTP, executou-o no computador local e implantou-o no Azure. Agora, estenda sua função por meio da...