evento
Crie aplicativos e agentes de IA
17/03, 21 - 21/03, 10
Junte-se à série meetup para criar soluções de IA escaláveis com base em casos de uso do mundo real com outros desenvolvedores e especialistas.
Registe-se agoraEste browser já não é suportado.
Atualize para o Microsoft Edge para tirar partido das mais recentes funcionalidades, atualizações de segurança e de suporte técnico.
Nota
Os planos Basic, Standard e Enterprise serão preteridos a partir de meados de março de 2025, com um período de aposentadoria de 3 anos. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para obter mais informações, consulte o anúncio de aposentadoria do Azure Spring Apps.
O plano de consumo padrão e dedicado será preterido a partir de 30 de setembro de 2024, com um desligamento completo após seis meses. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para obter mais informações, consulte Migrar consumo padrão e plano dedicado do Azure Spring Apps para Aplicativos de Contêiner do Azure.
Este artigo aplica-se a:✅ Basic/Standard ✅ Enterprise
Este artigo mostra como criar uma identidade gerenciada para um aplicativo hospedado no Azure Spring Apps e usá-la para invocar funções acionadas por HTTP.
Tanto o Azure Functions quanto os Serviços de Aplicativo têm suporte interno para a autenticação do Microsoft Entra. Usando esse recurso de autenticação interno junto com Identidades Gerenciadas para Aplicativos Spring do Azure, você pode invocar serviços RESTful usando semântica OAuth moderna. Esse método não requer o armazenamento de segredos no código e fornece controles mais granulares para controlar o acesso a recursos externos.
Um grupo de recursos é um contentor lógico no qual os recursos do Azure são implementados e geridos. Use o seguinte comando para criar um grupo de recursos para conter um aplicativo Function:
az group create --name <resource-group-name> --location <location>
Para obter mais informações, consulte o comando az group create .
Para criar um aplicativo Function, você deve primeiro criar uma conta de armazenamento de backup. Você pode usar o comando az storage account create .
Importante
Cada aplicativo Function e conta de armazenamento deve ter um nome exclusivo.
Use o comando a seguir para criar a conta de armazenamento. Substitua <function-app-name>
pelo nome do seu aplicativo Function e <storage-account-name>
pelo nome da sua conta de armazenamento.
az storage account create \
--resource-group <resource-group-name> \
--name <storage-account-name> \
--location <location> \
--sku Standard_LRS
Depois que a conta de armazenamento for criada, use o seguinte comando para criar o aplicativo Function:
az functionapp create \
--resource-group <resource-group-name> \
--name <function-app-name> \
--consumption-plan-location <location> \
--os-type windows \
--runtime node \
--storage-account <storage-account-name> \
--functions-version 4
Anote o valor retornado hostNames
, que está no formato https://<your-functionapp-name>.azurewebsites.net
. Use esse valor na URL raiz do aplicativo Function para testar o aplicativo Function.
Use as etapas a seguir para habilitar a autenticação do Microsoft Entra para acessar seu aplicativo Function.
Depois de adicionar as configurações, o aplicativo Função será reiniciado e todas as solicitações subsequentes serão solicitadas a entrar por meio da ID do Microsoft Entra. Você pode testar se as solicitações não autenticadas estão sendo rejeitadas no momento com a URL raiz do aplicativo Function (retornada na hostNames
saída do az functionapp create
comando). Em seguida, você deve ser redirecionado para a tela de entrada do Microsoft Entra da sua organização.
Você precisa da ID do Aplicativo e do URI da ID do Aplicativo para uso posterior. No portal do Azure, navegue até o aplicativo Função que você criou.
Para obter a ID do aplicativo, selecione Autenticação no painel de navegação e copie o valor da ID do aplicativo (cliente) para o provedor de identidade que inclui o nome do aplicativo Função.
Para obter o URI da ID do Aplicativo, selecione Expor uma API no painel de navegação e copie o valor do URI da ID do Aplicativo.
Em um diretório local vazio, use os seguintes comandos para criar um novo aplicativo de função e adicionar uma função acionada por HTTP:
func init --worker-runtime node
func new --template HttpTrigger --name HttpTrigger
Por padrão, as funções usam autenticação baseada em chave para proteger pontos de extremidade HTTP. Para habilitar a autenticação do Microsoft Entra para proteger o acesso às funções, defina a authLevel
chave como anonymous
no arquivo function.json , conforme mostrado no exemplo a seguir:
{
"bindings": [
{
"authLevel": "anonymous",
"type": "httpTrigger",
...
}
]
}
Para obter mais informações, consulte a seção Pontos de extremidade HTTP seguros de Protegendo funções do Azure.
Use o seguinte comando para publicar o aplicativo na instância criada na etapa anterior:
func azure functionapp publish <function-app-name>
A saída do comando publish deve listar a URL para sua função recém-criada, conforme mostrado na saída a seguir:
Deployment completed successfully.
Syncing triggers...
Functions in <your-functionapp-name>:
HttpTrigger - [httpTrigger]
Invoke url: https://<function-app-name>.azurewebsites.net/api/httptrigger
Use os seguintes comandos para adicionar a extensão spring e criar uma nova instância do Azure Spring Apps:
az extension add --upgrade --name spring
az spring create \
--resource-group <resource-group-name> \
--name <Azure-Spring-Apps-instance-name> \
--location <location>
Use o comando a seguir para criar um aplicativo nomeado msiapp
com uma identidade gerenciada atribuída ao sistema, conforme solicitado pelo --assign-identity
parâmetro:
az spring app create \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name "msiapp" \
--assign-endpoint true \
--assign-identity
Este exemplo invoca a função acionada HTTP solicitando primeiro um token de acesso do ponto de extremidade MSI e usando esse token para autenticar a solicitação HTTP da função. Para obter mais informações, consulte a seção Obter um token usando HTTP de Como usar identidades gerenciadas para recursos do Azure em uma VM do Azure para adquirir um token de acesso.
Use o seguinte comando clone o projeto de exemplo:
git clone https://github.com/Azure-Samples/azure-spring-apps-samples.git
Use o seguinte comando para especificar o URI da função e o nome do gatilho nas propriedades do aplicativo:
cd azure-spring-apps-samples/managed-identity-function
vim src/main/resources/application.properties
Para usar a identidade gerenciada para aplicativos do Azure Spring Apps, adicione as seguintes propriedades com esses valores a src/main/resources/application.properties:
azure.function.uri=https://<function-app-name>.azurewebsites.net
azure.function.triggerPath=httptrigger
azure.function.application-id.uri=<function-app-application-ID-uri>
Use o seguinte comando para empacotar seu aplicativo de exemplo:
mvn clean package
Use o seguinte comando para implantar o aplicativo no Azure Spring Apps:
az spring app deploy \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name "msiapp" \
--artifact-path target/asc-managed-identity-function-sample-0.1.0.jar
Use o seguinte comando para acessar o ponto de extremidade público ou o ponto de extremidade de teste para testar seu aplicativo:
curl https://<Azure-Spring-Apps-instance-name>-msiapp.azuremicroservices.io/func/springcloud
A mensagem a seguir é retornada no corpo da resposta.
Function Response: Hello, springcloud. This HTTP triggered function executed successfully.
evento
Crie aplicativos e agentes de IA
17/03, 21 - 21/03, 10
Junte-se à série meetup para criar soluções de IA escaláveis com base em casos de uso do mundo real com outros desenvolvedores e especialistas.
Registe-se agoraFormação
Módulo
Implantar microsserviços do Spring no Azure - Training
Saiba como implantar microsserviços do Spring Boot no Azure Spring Apps (ASA).
Certificação
Certificado pela Microsoft: Azure Developer Associate - Certifications
Crie soluções completas no Microsoft Azure para criar o Azure Functions, implementar e gerenciar aplicativos Web, desenvolver soluções utilizando o armazenamento do Azure e muito mais.