Início Rápido: criar sua primeira função C# no Azure usando o Visual Studio

O Azure Functions permite que você use o Visual Studio para criar projetos locais de função C# e, em seguida, publicar facilmente esse projeto para ser executado em um ambiente escalonável sem servidor no Azure. Se você preferir desenvolver seus aplicativos C# localmente usando o Visual Studio Code, considere a Versão baseada no 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. Aplicativos de funções executados em um processo de trabalho isolado têm suporte em todas as versões do .NET compatíveis com o Functions. Para obter mais informações, confira Versões compatíveis.

Neste artigo, você aprenderá como:

  • Use o Visual Studio para criar um projeto de biblioteca de classes do C#.
  • Criar uma função que responde a solicitações HTTP.
  • Execute o código localmente para verificar o comportamento da função.
  • Implante o projeto de código para o Azure Functions.

A realização deste início rápido gera um pequeno custo de alguns centavos de dólar ou menos em sua conta do Azure.

Esse 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

Crie um projeto de aplicativo 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ções no Azure. Você pode usar um aplicativo de funções 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 do Visual Studio, selecione Arquivo>Novo>Projeto.

  2. Em Criar um projeto, insira funções na caixa de pesquisa, escolha o modelo Azure Functions e, em seguida, selecione Próximo.

  3. Em Configurar o novo projeto, insira um Nome do projeto e clique em Criar. O nome do aplicativo de funções deve ser válido como um namespace do C# e, portanto, não use outros caracteres não alfanuméricos, hífens ou sublinhados.

  4. Para as configurações de Informações Adicionais remanescentes,

    Configuração Valor Descrição
    Função de trabalho do Functions .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 Gatilho HTTP Esse valor cria uma função acionada por uma solicitação HTTP.
    Usar Azurite para runtime de conta de armazenamento (AzureWebJobsStorage) Habilitar Como um aplicativo de funções no Azure requer uma conta de armazenamento, ela será atribuída ou criada quando você publicar seu projeto no Azure. Um gatilho HTTP não usa uma cadeia de conexão da conta do Armazenamento do Azure; todos os outros tipos de gatilho exigem uma cadeia de conexão válida da conta do Armazenamento do Azure. 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. Essa configuração de autorização torna fácil testar a nova função. Para obter mais informações sobre chaves e autorização, consulte Chaves de autorização e associações HTTP e webhook.

    Screenshot of Azure Functions project settings.

    Verifique se você definiu o Nível de autorização como Anônimo. Se você escolher o nível padrão da Função, será necessário apresentar a chave da função nas solicitações para acessar o ponto de extremidade da função no Azure.

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

O Visual Studio cria um projeto e uma classe que contém o código clichê do tipo de função do gatilho HTTP. O código padronizado envia uma resposta HTTP que inclui um valor do corpo de solicitação ou da cadeia de consulta. O atributo HttpTrigger especifica que a função é disparada por uma solicitação HTTP.

Renomear a função

O atributo do método Function define o nome da função, que por padrão é gerado como Function1. Como as ferramentas não permitem que você substitua o nome padrão da função quando cria seu projeto, dedique um minuto a criar um nome melhor para a classe da função, o arquivo e os metadados.

  1. No Explorador de Arquivos, clique com o botão direito do mouse no arquivo Function1.cs e renomeie-o como HttpExample.cs.

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

  3. No método chamado Run, renomeie o atributo do método Function como HttpExample.

A definição da função agora deverá ser semelhante ao seguinte código:

[Function("HttpExample")]
public IActionResult Run([HttpTrigger(AuthorizationLevel.AuthLevelValue, "get", "post")] HttpRequest req)
{
    return new OkObjectResult("Welcome to Azure Functions!");
}

Agora que renomeou a função, você pode testá-la no computador local.

Executar a função localmente

O Visual Studio integra-se ao Azure Functions Core Tools para que você possa testar suas funções localmente usando o runtime 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 manipular solicitações HTTP. Os níveis de autorização nunca são impostos quando você executa uma função localmente.

  2. Copie a URL da sua função da saída do Azure Functions runtime.

    Azure local runtime

  3. Cole a URL da solicitação HTTP na barra de endereços 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:

    Function localhost response in the browser

  4. Pare a depuração pressionando Shift+F5 no Visual Studio.

Após verificar se a função foi executada corretamente no computador local, é hora de publicar o projeto no Azure.

Publicar o projeto no Azure

O Visual Studio pode publicar seu projeto local no Azure. Antes de publicar o projeto, você deve ter um aplicativo de funções em sua assinatura do Azure. Se você ainda não tiver um aplicativo de funções 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ções e os recursos do Azure relacionados.

  1. No Gerenciador de Soluções, clique com o botão direito do mouse no nome do projeto e selecione Publicar. Em Destino, selecione Azure e Avançar.

    Screenshot of publish window.

  2. Escolha Aplicativo de Funções do Azure (Windows) em Destino específico, o que criará um aplicativo de funções executado no Windows, e selecione Avançar.

    Screenshot of publish window with specific target.

  3. Em Instância de Função, escolha Criar uma Função do Azure…

    Screenshot of create a new function app instance.

  4. Crie uma instância usando os valores especificados nesta tabela:

    Configuração Valor Descrição
    Nome Nome globalmente exclusivo Nome que identifica seu novo aplicativo de funções de forma exclusiva. Aceite esse nome ou insira um novo nome. Os caracteres válidos são: a-z, 0-9 e -.
    Assinatura Sua assinatura A assinatura do Azure a utilizar. Aceite esta assinatura ou selecione uma nova na lista suspensa.
    Grupo de recursos Nome do seu grupo de recursos O grupo de recursos no qual você deseja criar o aplicativo de funções. Escolha Novo para criar um novo grupo de recursos. Você também pode escolher um grupo de recursos existente na lista suspensa.
    Tipo de Plano Consumo Quando você publica seu projeto em um aplicativo de funções 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.
    Localidade Local do serviço de aplicativo Escolha um Local em uma região perto de você ou de outros serviços acessados pelas suas funções.
    Armazenamento do Azure Conta de armazenamento para uso geral Uma conta de armazenamento do Azure é requerida pelo runtime do Functions. Selecione Novo para configurar uma conta de armazenamento para uso geral. Você também pode escolher 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 Application Insights para seu aplicativo de funções. Selecione Novo para criar uma nova instância, em um workspace do Log Analytics novo ou existente. Você também pode escolher uma instância existente.

    Screenshot of Create App Service dialog.

  5. Selecione Criar para criar um aplicativo de funções e recursos relacionados no Azure. O status da criação do recurso é mostrado no canto inferior esquerdo da janela.

  6. Na Instância do Functions, verifique se a opção Executar no arquivo de pacote está marcada. Seu aplicativo de funções é implantado usando a Implantação de Zip com o modo Run-From-Package habilitado. A Implantação de Zip é o método de implantação recomendado para seu projeto de funções, pois ele resulta em um melhor desempenho.

    Screenshot of Finish profile creation.

  7. Selecione Concluir e, na página Publicar, selecione Publicar para implantar o pacote que contém os arquivos do projeto no seu novo aplicativo de funções no Azure.

    Concluída a implantação, a URL raiz do aplicativo de funções no Azure é mostrada na guia Publicar.

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

    Screenshot of Publish success message.

Verificar sua função no Azure

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

  2. Em Funções, selecione sua nova função chamada HttpExample e, na página de funções, selecione Obter URL da função e, em seguida, o ícone Copiar para área de transferência.

  3. Na barra de endereços do navegador, cole a URL que você acabou de copiar e execute a solicitação.

    A URL que chama a função de gatilho HTTP está no seguinte formato:

    https://<APP_NAME>.azurewebsites.net/api/HttpExample?name=Functions

  4. Vá para essa URL e você verá uma resposta no navegador à solicitação GET remota retornada pela função, que é semelhante ao seguinte exemplo:

    Function response in the browser

Limpar os recursos

Os Recursos no Azure se referem a aplicativos de funções, funções, contas de armazenamento e assim por diante. Eles são agrupados em grupos de recursos e você pode excluir tudo junto ao excluir o grupo.

Você criou recursos do Azure para concluir este início rápido. Você pode ser cobrado por esses recursos, dependendo do status de conta e preços do serviço. Outros inícios rápidos nessa coleção aproveitam esse início rápido. Se você planeja trabalhar com guias de início rápido subsequentes, tutoriais ou com qualquer serviço criado por você nesse início rápido, não limpe os recursos.

Siga as etapas a seguir para excluir o aplicativo de funções e os recursos relacionados a ele a fim de evitar custos adicionais.

  1. No diálogo do Visual Studio Publish, na seção Hospedagem, selecione Abrir no portal do Azure.

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

    Select the resource group to delete from the function app page

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

  4. Selecione Excluir grupo de recursos e siga as instruções.

    A exclusão poderá levar alguns minutos. Ao ser concluída, uma notificação será exibida por alguns segundos. Também é possível selecionar o ícone de sino na parte superior da página para exibir a notificação.

Próximas etapas

Neste início rápido, você usou o Visual Studio para criar e publicar um aplicativo de funções em 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 Azure Functions C# em um processo de trabalho isolado. Confira as versões com suporte do .NET para ver outras versões de versões do .NET com suporte em um processo de trabalho isolado.

Avance para o próximo artigo para saber como adicionar uma associação de fila do Armazenamento do Azure à sua função: