Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O Azure Functions permite que você use o Visual Studio para criar projetos de função C# locais e, em seguida, publique facilmente esse projeto para ser executado em um ambiente sem servidor escalável no Azure. Se preferir desenvolver as suas aplicações C# localmente usando o Visual Studio Code, deve considerar a versão baseada em Visual Studio Code deste artigo.
Por padrão, este artigo mostra como criar funções C# que são executadas no .NET 8 em um processo de trabalho isolado. Os aplicativos de função executados em um processo de trabalho isolado são suportados em todas as versões do .NET suportadas pelo Functions. Para obter mais informações, consulte Versões suportadas.
Neste artigo, vai aprender a:
- Use o Visual Studio para criar um projeto de biblioteca de classes C#.
- Crie uma função que responda a solicitações HTTP.
- Execute o código localmente para verificar o comportamento da função.
- Implante seu projeto de código no Azure Functions.
A conclusão deste início rápido incorre num pequeno custo de alguns cêntimos USD ou menos na sua conta do Azure.
Este vídeo mostra como criar uma função C# no Azure.
As etapas no vídeo também são descritas nas seções a seguir.
Pré-requisitos
Visual Studio 2022. Certifique-se de selecionar a carga de trabalho de desenvolvimento do Azure durante a instalação.
Subscrição do Azure. Se você ainda não tem uma conta, crie uma gratuita antes de começar.
Criar um projeto de app de funções
O modelo de projeto do Azure Functions no Visual Studio cria um projeto de biblioteca de classes C# que você pode publicar em um aplicativo de função no Azure. Você pode usar um aplicativo de função para agrupar funções como uma unidade lógica para facilitar o gerenciamento, a implantação, o dimensionamento e o compartilhamento de recursos.
No menu Visual Studio, selecione Arquivo>>
Em Criar um novo projeto, insira funções na caixa de pesquisa, escolha o modelo Azure Functions e selecione Avançar.
Em Configurar seu novo projeto, insira um nome de projeto para seu projeto e selecione Avançar. O nome da aplicação de funções deve ser válido como um espaço de nomes C#. Portanto, não use sublinhados, hífenes ou outros carateres não alfanuméricos.
Para as restantes definições de informações adicionais,
Definição valor Descrição Trabalhador de Funções .NET 8.0 isolado (suporte de longo prazo) Suas funções são executadas no .NET 8 em um processo de trabalho isolado. Função Acionador HTTP Esse valor cria uma função acionada por uma solicitação HTTP. Usar o Azurite para a conta de armazenamento em tempo de execução (AzureWebJobsStorage) Ativar Como um aplicativo de função no Azure requer uma conta de armazenamento, uma é atribuída ou criada quando você publica seu projeto no Azure. Um gatilho HTTP não usa uma cadeia de conexão de conta de Armazenamento do Azure; todos os outros tipos de gatilho exigem uma cadeia de conexão de conta de Armazenamento do Azure válida. Quando você seleciona essa opção, o emulador Azurite é usado. Nível de autorização Anônimo A função criada pode ser acionada por qualquer cliente sem fornecer uma chave. Esta definição de autorização torna mais fácil testar a função nova. Para obter mais informações, consulte Nível de autorização.
Certifique-se de definir o nível de Autorização como Anônimo. Se escolher o nível padrão de Função, será necessário apresentar a chave de função em solicitações para acessar seu ponto final de função no Azure.
Selecione Criar para criar o projeto de função e a função de gatilho HTTP.
Visual Studio cria um projeto e uma classe que contém código padrão para o tipo de função de gatilho HTTP. O código padrão envia uma resposta HTTP que inclui um valor do corpo do pedido ou da string de consulta. O HttpTrigger atributo especifica que a função é acionada por uma solicitação HTTP.
Renomear a função
O Function atributo method define o nome da função, que por padrão é gerada como Function1. Como as ferramentas não permitem que você substitua o nome da função padrão ao criar seu projeto, reserve um minuto para criar um nome melhor para a classe, o arquivo e os metadados da função.
No Explorador de Ficheiros, clique com o botão direito do rato no ficheiro Function1.cs e mude o nome para
HttpExample.cs.No código, renomeie a classe Function1 para
HttpExample.No método chamado
Run, renomeie oFunctionatributo method paraHttpExample.
Sua definição de função agora deve se parecer com o seguinte código:
[Function("HttpExample")]
public IActionResult Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequest req)
{
_logger. LogInformation("C# HTTP trigger function processed a request.");
return new OkObjectResult("Hello, functions");
}
Agora que você renomeou a função, pode testá-la em seu computador local.
Executar a função localmente
O Visual Studio integra-se com as Ferramentas Principais do Azure Functions para que você possa testar suas funções localmente usando o tempo de execução completo do Azure Functions.
Para executar sua função, pressione F5 no Visual Studio. Talvez seja necessário habilitar uma exceção de firewall para que as ferramentas possam lidar com solicitações HTTP. Os níveis de autorização nunca são impostos quando você executa uma função localmente.
Copie o URL da sua função na saída do runtime do Azure Functions.
Cole o URL da solicitação HTTP na barra de endereço do navegador e execute a solicitação. A imagem a seguir mostra a resposta no navegador para a solicitação GET local retornada pela função:
Para parar a depuração, pressione Shift+F5 no Visual Studio.
Depois de verificar que a função é executada corretamente no computador local, deve publicar o projeto no Azure.
Publicar o projeto no Azure
O Visual Studio pode publicar seu projeto local no Azure. Antes de publicar seu projeto, você deve ter um aplicativo de função em sua assinatura do Azure. Se você ainda não tiver um aplicativo de função no Azure, o Visual Studio pode ajudá-lo a criar um antes de publicar seu projeto. Neste artigo, você cria um aplicativo funcional que é executado no Linux em um plano Flex Consumption, que é o plano recomendado para funções sem servidor seguras e orientadas a eventos.
No Gerenciador de Soluções, clique com o botão direito do mouse no projeto e selecione Publicar.
Na página Publicar , faça as seguintes seleções:
- No Destino, selecione Azure e, em seguida, selecione Avançar.
- Em Destino específico, selecione Azure Function App e, em seguida, selecione Avançar.
- Na instância Functions, selecione Create new.
Crie uma nova instância usando os valores especificados na tabela a seguir:
Definição valor Descrição Nome Um nome único globalmente O nome deve identificar exclusivamente seu novo aplicativo de função. Aceite o nome sugerido ou insira um novo nome. Os seguintes caracteres são válidos: a-z,0-9, e-.Nome da subscrição O nome da sua subscrição O aplicativo de função é criado em uma assinatura do Azure. Aceite a assinatura padrão ou selecione uma diferente na lista. Grupo de recursos O nome do seu grupo de recursos O aplicativo de função é criado em um grupo de recursos. Selecione Novo para criar um novo grupo de recursos. Você também pode selecionar um grupo de recursos existente na lista. Tipo de Plano Consumo Flexível Quando você publica seu projeto em um aplicativo de função executado em um plano Flex Consumption, você pode pagar apenas pelas execuções do seu aplicativo de funções. Outros planos de hospedagem podem incorrer em custos mais altos. IMPORTANTE:
Ao criar um plano Flex Consumption, você deve primeiro selecionar Plano de serviço de aplicativo e, em seguida, selecionar novamente Flex Consumption para eliminar um problema com a caixa de diálogo.Sistema Operativo Linux O plano Flex Consumption atualmente requer Linux. Localização A localização do serviço de aplicativo Selecione um local em uma região do Azure suportada pelo plano Flex Consumption. Quando uma região sem suporte é selecionada, o botão Criar fica acinzentado. Tamanho da memória da instância 2048 O tamanho da memória das instâncias de máquina virtual nas quais o aplicativo é executado é exclusivo do plano Flex Consumption. Armazenamento do Azure Uma conta de armazenamento de uso geral O tempo de execução do Functions requer uma conta de armazenamento. Selecione Novo para configurar uma conta de armazenamento de uso geral. Você também pode usar uma conta existente que atenda aos requisitos da conta de armazenamento. Informações sobre aplicativos Uma instância do Application Insights Você deve ativar a integração do Application Insights para seu aplicativo de função. Selecione Novo para criar uma nova instância, em um espaço de trabalho novo ou existente do Log Analytics. Você também pode usar uma instância existente.
Selecione Criar para criar um aplicativo de função e seus recursos relacionados no Azure. O status da criação de recursos é mostrado no canto inferior esquerdo da janela.
Selecione Concluir. A janela Publicar progresso da criação do perfil é exibida. Quando o perfil for criado, selecione Fechar.
Na página de perfil de publicação, selecione Publicar para implantar o pacote que contém seus arquivos de projeto em seu novo aplicativo de função no Azure.
Quando a implantação estiver concluída, a URL raiz do aplicativo de função no Azure será mostrada na página de perfil de publicação.
Na página de perfil de publicação, vá para a seção Hospedagem . Selecione as reticências (...) e, depois, selecione Abrir no portal Azure. O novo recurso do aplicativo de função do Azure é aberto no portal do Azure.
Verificar sua função no Azure
No portal do Azure, você deve estar na página Visão geral do seu novo aplicativo de funções.
Em Funções, selecione a nova função chamada HttpExample, em seguida, na página da função, selecione Obter URL da função e, em seguida, o ícone Copiar para a área de transferência.
Na barra de endereço do navegador, cole o URL copiado e execute a solicitação.
A URL que chama sua função de gatilho HTTP está no seguinte formato:
https://<APP_NAME>.azurewebsites.net/api/HttpExample?name=FunctionsVá para este URL e você verá uma resposta no navegador para a solicitação GET remota retornada pela função, que se parece com o exemplo a seguir:
Clean up resources (Limpar recursos)
Os recursos no Azure referem-se a aplicações de funções, funções, contas de armazenamento e assim sucessivamente. Eles são agrupados em grupos de recursos e você pode excluir tudo em um grupo excluindo o grupo.
Você criou recursos do Azure para concluir este início rápido. Você pode ser cobrado por esses recursos, dependendo do status da sua conta e do preço do serviço. Outros guias rápidos desta coleção baseiam-se neste guia rápido. Se planeias trabalhar com introduções, tutoriais ou com qualquer um dos serviços que criaste nesta introdução, não elimines os recursos.
Use as etapas a seguir para excluir o aplicativo de função e seus recursos relacionados para evitar incorrer em custos adicionais.
Na caixa de diálogo Publicar do Visual Studio, na seção Hospedagem, selecione Abrir no portal do Azure.
Na página do aplicativo de função, selecione a guia Visão geral e, em seguida, selecione o link em Grupo de recursos.
Na página Grupo de recursos, revise a lista de recursos incluídos e verifique se eles são aqueles que você deseja excluir.
Selecione Eliminar grupo de recursos e siga as instruções.
A eliminação pode demorar alguns minutos. Quando terminar, é apresentada uma notificação durante alguns segundos. Também pode selecionar o ícone de sino na parte superior da página para ver a notificação.
Próximos passos
Neste início rápido, você usou o Visual Studio para criar e publicar um aplicativo de função C# no Azure com uma função de gatilho HTTP simples.
Para saber mais sobre como trabalhar com funções C# executadas em um processo de trabalho isolado, consulte o Guia para executar o C# Azure Functions em um processo de trabalho isolado. Confira as versões suportadas do .NET para ver outras versões das versões suportadas do .NET em um processo de trabalho isolado.
Avance para o próximo artigo para saber como adicionar uma associação de fila de Armazenamento do Azure à sua função: