Guia de início rápido: crie sua primeira função C# no Azure usando o Visual Studio

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 você preferir desenvolver seus aplicativos C# localmente usando o Visual Studio Code, você deve considerar a versão baseada em código do Visual Studio 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

Criar um projeto de aplicação de função

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.

  1. No menu Visual Studio, selecione Arquivo>Novo>Projeto.

  2. Em Criar um novo projeto, insira funções na caixa de pesquisa, escolha o modelo Azure Functions e selecione Avançar.

  3. 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.

  4. Para as restantes definições de informações adicionais,

    Definição valor Description
    Funções de trabalhador .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.

    Captura de ecrã das definições do projeto do Azure Functions.

    Certifique-se de definir o nível de Autorização como Anônimo. Se você 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 de extremidade de função no Azure.

  5. Selecione Criar para criar o projeto de função e a função de gatilho HTTP.

Visual Studio cria um projeto e classe que contém código clichê para o tipo de função de gatilho HTTP. O código automático envia uma resposta HTTP que inclui um valor da cadeia de consulta ou de corpo de pedido. 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.

  1. No Explorador de Ficheiros, clique com o botão direito do rato no ficheiro Function1.cs e mude o nome para HttpExample.cs.

  2. No código, renomeie a classe Function1 para HttpExample.

  3. No método chamado Run, renomeie o Function atributo method para HttpExample.

Sua definição de função agora deve se parecer com o seguinte código:

[Function("HttpExample")]
public IActionResult Run([HttpTrigger(AuthorizationLevel.AuthLevelValue, "get", "post")] HttpRequest req)
{
    return new OkObjectResult("Welcome to Azure 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.

  1. 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.

  2. Copie o URL da sua função na saída do tempo de execução das funções do Azure.

    Tempo de execução local do Azure

  3. 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:

    Resposta da função localhost no browser

  4. 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, a publicação do Visual Studio criará um para você na primeira vez que publicar seu projeto. Neste artigo, você cria um aplicativo de função e recursos relacionados do Azure.

  1. No Explorador de Soluções, clique com o botão direito do rato no projeto e selecione Publicar. Em Destino, selecione Azure e, em seguida, selecione Avançar.

    Captura de ecrã do painel de publicação.

  2. Em Destino específico, selecione Aplicativo de Função do Azure (Windows). Um aplicativo de função que é executado no Windows é criado. Selecione Seguinte.

    Captura de ecrã do painel de publicação com um destino específico.

  3. Na instância do Functions, selecione Criar uma nova Função do Azure.

    Captura de tela que mostra Criar uma nova instância de aplicativo de função.

  4. Crie uma nova instância usando os valores especificados na tabela a seguir:

    Definição valor Descrição
    Nome Nome globalmente exclusivo Nome que identifica exclusivamente a sua nova aplicação de funções. Aceite este nome ou introduza um novo nome. Os caracteres válidos são: a-z, 0-9, e -.
    Subscrição a sua subscrição A subscrição do Azure que deve utilizar. Aceite esta assinatura ou selecione uma nova na lista suspensa.
    Grupo de recursos Nome do grupo de recursos O grupo de recursos no qual você deseja criar seu aplicativo de função. Selecione Novo para criar um novo grupo de recursos. Você também pode optar por usar um grupo de recursos existente na lista suspensa.
    Tipo de Plano Consumo Quando você publica seu projeto em um aplicativo de função que é executado em um plano de consumo, você paga apenas pelas execuções do seu aplicativo de funções. Outros planos de hospedagem incorrem em custos mais altos.
    Location Localização do serviço da aplicação Selecione um Local em uma região do Azure perto de você ou de outros serviços que suas funções acessam.
    Armazenamento do Azure Conta de armazenamento de uso geral O runtime das Funções precisa de uma conta de armazenamento do Azure. Selecione Novo para configurar uma conta de armazenamento de uso geral. Você também pode optar por usar uma conta existente que atenda aos requisitos da conta de armazenamento.
    Application Insights Instância do Application Insights Você deve habilitar a integração do Azure 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 optar por usar uma instância existente.

    Captura de tela da caixa de diálogo Criar Serviço de Aplicativo.

  5. 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.

  6. Na instância Functions, verifique se a caixa de seleção Executar do arquivo do pacote está marcada. Seu aplicativo de função é implantado usando Zip Deploy com o modo Run-From-Package habilitado. Zip Deploy é o método de implantação recomendado para seu projeto de funções para melhor desempenho.

    Captura de ecrã do painel de criação de perfil Concluir.

  7. Selecione Concluir e, no painel Publicar , 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 é concluída, a URL raiz do aplicativo de função no Azure é mostrada na guia Publicar .

  8. Na guia Publicar, na seção Hospedagem, selecione Abrir no portal do Azure. O novo recurso do aplicativo de função do Azure é aberto no portal do Azure.

    Captura de ecrã da mensagem Publicar êxito.

Verificar sua função no Azure

  1. No portal do Azure, você deve estar na página Visão geral do seu novo aplicativo de funções.

  2. 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.

  3. Na barra de endereço do navegador, cole o URL que você acabou de copiar 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=Functions

  4. Vá 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:

    Resposta da função no browser

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. Poderá ser-lhe cobrado estes recursos, dependendo do seu estado da conta e dos preços dos serviços. Outros guias de introdução desta coleção têm por base este guia de introdução. Se você planeja trabalhar com inícios rápidos, tutoriais ou com qualquer um dos serviços criados neste início rápido, não limpe os recursos.

Use as etapas a seguir para excluir o aplicativo de função e seus recursos relacionados para evitar incorrer em custos adicionais.

  1. Na caixa de diálogo Publicar do Visual Studio, na seção Hospedagem, selecione Abrir no portal do Azure.

  2. Na página do aplicativo de função, selecione a guia Visão geral e, em seguida, selecione o link em Grupo de recursos.

    Selecione o grupo de recursos a ser excluído da página do aplicativo de função

  3. Na página Grupo de recursos, revise a lista de recursos incluídos e verifique se eles são aqueles que você deseja excluir.

  4. 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: