Desenvolver o Azure Functions usando o Visual Studio Code

A extensão do Azure Functions para Visual Studio Code permite que você desenvolva as funções localmente e as implante no Azure. Se esta for sua primeira experiência com o Azure Functions, você pode aprender mais em Uma introdução ao Azure Functions.

A extensão do Azure Functions oferece estes benefícios:

  • Editar, criar e executar funções em seu computador de desenvolvimento local.
  • Publicar seu projeto do Azure Functions diretamente no Azure.
  • Gravar as funções em várias linguagens, aproveitando os benefícios do Visual Studio Code.

A extensão pode ser usada com as seguintes linguagens, que são compatíveis com o runtime do Azure Functions a partir da versão 2.x:

*Requer que você defina o script C# como a linguagem de projeto padrão.

Neste artigo, os exemplos estão disponíveis atualmente apenas para as funções de biblioteca de classes JavaScript (Node.js) e C#.

Este artigo fornece detalhes sobre como usar a extensão do Azure Functions para desenvolver funções e publicá-las no Azure. Antes de ler este artigo, você deve criar a primeira função usando o Visual Studio Code.

Importante

Não combine desenvolvimento local e desenvolvimento de portal para um único aplicativo de funções. Ao publicar a partir de um projeto local para um aplicativo de funções, o processo de implantação substitui quaisquer funções que você desenvolveu o portal.

Pré-requisitos

Executar requisitos locais

Esses pré-requisitos só são necessários para executar e depurar as funções localmente. Eles não são necessários para criar ou publicar projetos no Azure Functions.

Criar um projeto do Azure Functions

A extensão do Functions permite criar um projeto de aplicativo de funções, juntamente com a primeira função. As etapas a seguir mostram como criar uma função disparada por HTTP em um novo projeto do Functions. O gatilho HTTP é o modelo de gatilho de função mais simples de demonstrar.

    1. Escolha o ícone do Azure na barra de atividades e, na área Workspace (local), selecione o botão +, escolha Criar Função na lista suspensa. Quando solicitado, escolha Criar um projeto.

    Screenshot of create a new project window.

  1. Escolha o local de diretório para o workspace do projeto e escolha Selecionar. Você deve criar uma pasta ou escolher uma pasta vazia para o workspace do projeto. Não escolha uma pasta de projeto que já faça parte de um workspace.

  2. Quando solicitado, selecione uma linguagem para seu projeto e, se necessário, escolha uma versão de linguagem específica.

  3. Selecione o modelo de função de gatilho HTTP ou selecione Ignorar agora para criar um projeto sem uma função. Você sempre poderá adicionar uma função ao projeto posteriormente.

    Screenshot for selecting H T T P trigger.

  4. Digite HttpExample para o nome da função e selecione Enter e, em seguida, a autorização Função. Esse nível de autorização exige que você forneça uma chave de função ao chamar o ponto de extremidade da função.

    Screenshot for creating function authorization.

  5. Na lista suspensa, selecione Adicionar ao local de trabalho.

     Screenshot for selectIng Add to workplace.

  6. Em Você confia nos autores dos arquivos nesta janela? Selecione Sim.

    Screenshot to confirm trust in authors of the files.

  7. Uma função é criada na linguagem escolhida e no modelo de uma função disparada por HTTP.

    Screenshot for H T T P-triggered function template in Visual Studio Code.

Arquivos de projeto gerados

O modelo de projeto cria um projeto na linguagem escolhida e instala as dependências necessárias. Para qualquer linguagem, o novo projeto tem estes arquivos:

  • host.json: Permite que você configure o host do Functions. Essas configurações se aplicam quando você estiver executando as funções localmente e quando as estiver executando no Azure. Para obter mais informações, consulte a referência para host.json.

  • local.settings.json: mantém as configurações usadas ao executar as funções localmente. Essas configurações são usadas somente quando você está executando as funções localmente. Para obter mais informações, confira Arquivo de configurações local.

    Importante

    Como o arquivo local.settings.json pode conter segredos, você precisa excluí-lo do controle do código-fonte do projeto.

Dependendo da linguagem, esses outros arquivos são criados:

Neste ponto, você pode adicionar associações de entrada e de saída à função. Você também pode adicionar uma nova função ao projeto.

Instalar extensões de associação

Com exceção dos gatilhos de timer e HTTP, as associações são implementadas nos pacotes de extensão. Você deve instalar os pacotes de extensão para os gatilhos e as associações que precisam deles. O processo de instalação de extensões de associação depende da linguagem do projeto.

Execute o comando dotnet add package na janela Terminal para instalar os pacotes de extensão necessários para o projeto. O exemplo a seguir demonstra como você adiciona uma associação para uma biblioteca de classes em processo:

dotnet add package Microsoft.Azure.WebJobs.Extensions.<BINDING_TYPE_NAME> --version <TARGET_VERSION>

O exemplo a seguir demonstra como você adiciona uma associação para uma biblioteca de classes em processo isolado:

dotnet add package Microsoft.Azure.Functions.Worker.Extensions.<BINDING_TYPE_NAME> --version <TARGET_VERSION>

Em ambos os casos, substitua <BINDING_TYPE_NAME> pelo nome do pacote que contém a associação de que você precisa. Você pode encontrar o artigo de referência de associação desejada na lista de vinculações com suporte.

Substituir <TARGET_VERSION> no exemplo com uma versão específica do pacote, como 3.0.0-beta5. As versões válidas são listadas nas páginas de pacote individuais NuGet.org. As versões principais que correspondem ao Runtime do Functions 1.x ou 2.x são especificadas no artigo de referência para a associação.

Adicionar uma função ao projeto

Você pode adicionar uma nova função a um projeto existente usando um dos modelos de gatilho de funções predefinidos. Para adicionar um novo gatilho de função, selecione F1 para abrir a paleta de comandos e, em seguida, procure e execute o comando Azure Functions: criar função. Siga os prompts para escolher o tipo de gatilho e definir os atributos necessários do gatilho. Se o gatilho exigir uma chave de acesso ou uma cadeia de conexão para se conectar a um serviço, prepare-o antes de criar o gatilho de função.

Os resultados dessa ação dependem da linguagem do projeto:

Um novo arquivo de biblioteca de classes do C# (.cs) é adicionado ao projeto.

Conectar-se a serviços

Você pode conectar a função a outros serviços do Azure, adicionando associações de entrada e de saída. As associações conectam a função a outros serviços, sem a necessidade de gravar o código de conexão. O processo para adicionar associações depende da linguagem do projeto. Para saber mais sobre associações, confira Conceitos de gatilhos e de associações do Azure Functions.

Os exemplos a seguir se conectam a uma fila de armazenamento denominada outqueue, em que a cadeia de conexão para a conta de armazenamento é definida na MyStorageConnection configuração de aplicativo no local.settings.json.

Atualize o método de função para adicionar o seguinte parâmetro à definição do método Run:

[Queue("outqueue"),StorageAccount("AzureWebJobsStorage")] ICollector<string> msg,

O parâmetro msg é um tipo ICollector<T>, que representa uma coleção de mensagens que são gravadas em uma associação de saída quando a função é concluída. O código a seguir adiciona uma mensagem à coleção:

// Add a message to the output collection.
msg.Add(name);

As mensagens são enviadas para a fila quando a função é concluída.

Para saber mais, confira a documentação do artigo de referência de associação de saída do armazenamento de fila. Para saber mais em geral sobre quais associações podem ser adicionadas a uma função, confira Adicionar associações a uma função existente no Azure Functions.

Entrar no Azure

Antes de poder publicar seu aplicativo, você precisa entrar no Azure.

  1. Se você ainda não tiver entrado, escolha o ícone do Azure na barra de Atividades. Em seguida, na área Recursos, escolha Entrar no Azure….

    Screenshot of the sign-in to Azure window within VS Code.

    Se você já estiver conectado e puder ver suas assinaturas existentes, vá para a próxima seção. Caso ainda não tenha uma conta do Azure, escolha Criar e Conta do Azure…. Os alunos podem escolher Criar e Conta do Azure for Students….

  2. Quando solicitado no navegador, escolha sua conta do Azure e entre usando suas credenciais de conta do Azure. Se você criar uma conta, poderá se conectar depois que a conta for criada.

  3. Após entrar com êxito, você poderá fechar a nova janela do navegador. As assinaturas que pertencem à sua conta do Azure são exibidas na barra lateral.

Criar recursos do Azure

Para publicar seu projeto do Functions no Azure, você precisa ter um aplicativo de funções e recursos relacionados na sua assinatura do Azure para executar o código. O aplicativo de funções fornece um contexto de execução para suas funções. Quando você faz uma publicação em um aplicativo de funções no Azure por meio do Visual Studio Code, o projeto é empacotado e implantado no aplicativo de funções selecionado na sua assinatura do Azure.

Ao criar um aplicativo de funções no Azure, você pode escolher um caminho rápido de criação de aplicativo de funções usando os padrões ou um caminho avançado. Dessa forma, você terá mais controle sobre os recursos remotos criados.

Criação de aplicativo de funções rápida

Nesta seção, você criará um aplicativo de funções e os recursos relacionados na sua assinatura do Azure.

  1. Escolha o ícone do Azure na barra de atividades. Em seguida, na área Recursos, selecione o ícone + e escolha a opção Criar Aplicativo de Funções no Azure.

    Create a resource in your Azure subscription

  2. Forneça as seguintes informações nos prompts:

    Prompt Seleção
    Selecionar uma assinatura Escolha a assinatura a ser usada. Você não verá esse aviso quando tiver apenas uma assinatura visível em Recursos.
    Insira um nome exclusivo globalmente para o aplicativo de funções Digite um nome que seja válido em um caminho de URL. O nome que você digitar é validado para ter certeza de que ele é exclusivo no Azure Functions.
    Selecionar uma pilha de runtime Escolha a versão da linguagem em que você está fazendo a execução localmente.
    Selecione uma localização para novos recursos Para obter um melhor desempenho, escolha uma região perto de você.

    A extensão mostra o status de recursos individuais conforme eles são criados no Azure no painel Azure: Log de Atividades.

    Log of Azure resource creation

  3. Quando a criação for concluída, os recursos do Azure a seguir serão criados na sua assinatura. Os recursos são nomeados com base no nome do aplicativo de funções:

    • Um grupo de recursos, que é um contêiner lógico para recursos relacionados.
    • Uma conta de armazenamento do Azure padrão, que mantém o estado e outras informações sobre seus projetos.
    • Um aplicativo de funções, que fornece o ambiente para a execução do código de função. Um aplicativo de funções lhe permite agrupar funções como uma unidade lógica para facilitar o gerenciamento, a implantação e o compartilhamento de recursos dentro do mesmo plano de hospedagem.
    • Um Plano do Serviço de Aplicativo, que define o host subjacente do aplicativo de funções.
    • Uma instância do Application Insights conectada ao aplicativo de funções, que controla o uso das suas funções no aplicativo.

    Uma notificação é exibida depois que seu aplicativo de funções é criado e o pacote de implantação é aplicado.

    Dica

    Por padrão, os recursos do Azure necessários para o aplicativo de funções são criados com base no nome do aplicativo de funções fornecido por você. Por padrão, eles também são criados no mesmo grupo de recursos com o aplicativo de funções. Se desejar personalizar os nomes desses recursos ou reutilizar os recursos existentes, você precisará publicar o projeto com opções de criação avançadas.

Publicar um projeto em um novo aplicativo de funções no Azure usando as opções avançadas

As etapas a seguir publicam o projeto em um novo aplicativo de funções criado com as opções de criação avançadas:

  1. Na paleta de comandos, insira Azure Functions: Criar aplicativo de funções no Azure… (Avançado).

  2. Se você não estiver conectado, será solicitado a Entrar no Azure. Você também pode Criar uma conta gratuita do Azure. Após entrar pelo navegador, retorne ao Visual Studio Code.

  3. Após os prompts, forneça estas informações:

    Prompt Seleção
    Insira um nome exclusivo globalmente para o novo aplicativo de funções. Digite um nome globalmente exclusivo que identifique o novo aplicativo de funções e selecione ENTER. Caracteres válidos para um nome de aplicativo de funções são a-z, 0-9 e -.
    Selecione uma pilha de runtime. Escolha a versão da linguagem em que você está fazendo a execução localmente.
    Selecione um SO. Escolha Linux ou Windows. Os aplicativos Python precisam ser executados no Linux
    Selecione um grupo de recursos para novos recursos. Escolha Criar grupo de recursos, digite um nome de grupo de recursos, como myResourceGroup, e selecione ENTER. Você também pode escolher um grupo de recursos existente.
    Selecione uma localização para novos recursos. Selecione um local em uma região perto de você ou perto de outros serviços acessados pelas suas funções.
    Selecione um plano de hospedagem. Escolha Consumo em Hospedagem do plano de consumo sem servidor, em que você só é cobrado quando as funções são executadas.
    Selecione uma conta de armazenamento. Escolha Criar conta de armazenamento e no prompt, digite um nome globalmente exclusivo para a nova conta de armazenamento usada pelo aplicativo de funções e selecione ENTER. Os nomes da conta de armazenamento precisam ter entre 3 e 24 caracteres e podem conter apenas números e letras minúsculas. Você também pode selecionar uma conta existente.
    Selecione um recurso do Application Insights para o seu aplicativo. Escolha Criar recurso do Application Insights e, no prompt, digite um nome para a instância usada para armazenar dados de runtime das suas funções.

    Uma notificação é exibida depois que seu aplicativo de funções é criado e o pacote de implantação é aplicado. Escolha Exibir Saída nessa notificação para exibir a criação e os resultados da implantação, incluindo os recursos do Azure que você criou.

Obter a URL de uma função disparada por HTTP no Azure

Para chamar uma função disparada por HTTP de um cliente, você precisa da URL da função quando ela é implantada no aplicativo de funções. Essa URL inclui as chaves de função necessárias. Você pode usar a extensão para obter essas URLs para as funções implantadas. Se você quiser apenas executar a função remota no Azure, use a funcionalidade Executar função agora da extensão.

  1. Selecione F1 para abrir a paleta de comandos, pesquise e execute o comando Azure Functions: copiar URL da função.

  2. Siga os prompts para selecionar o aplicativo de funções no Azure e, em seguida, o gatilho HTTP específico que você deseja invocar.

A URL da função é copiada na área de transferência, juntamente com as chaves necessárias que passaram pelo parâmetro de consulta code. Use uma ferramenta HTTP para enviar as solicitações POST ou um navegador para as solicitações GET para a função remota.

Quando a extensão obtém a URL das funções no Azure, ela usa sua conta do Azure para recuperar automaticamente as chaves necessárias para iniciar a função. Saiba mais sobre as chaves de acesso da função. Iniciar funções que não foram disparadas por HTTP requer o uso da chave de administração.

Implantar arquivos de projeto

Recomendamos configurar a implantação contínua, de modo que o aplicativo de funções no Azure seja atualizado quando você atualizar os arquivos de origem no local de origem conectado. Você também pode implantar seus arquivos de projeto no Visual Studio Code.

Ao publicar do Visual Studio Code, você tira proveito da tecnologia de implantação de zip.

Importante

A implantação em um aplicativo de funções existente sempre substitui o conteúdo do aplicativo no Azure.

  1. Escolha o ícone do Azure na barra de atividades e, na área Workspace, selecione sua pasta de projeto e o botão Implantar….

    Deploy project from the Visual Studio Code workspace

  2. Após a conclusão da implantação, escolha Exibir Saída para ver a criação e os resultados da implantação, incluindo os recursos do Azure que você criou. Se você perder a notificação, selecione o ícone de sino no canto inferior direito para vê-lo novamente.

    Screenshot of the View Output window.

Executar funções

A extensão Azure Functions permite executar funções individuais. Você pode executar funções individuais em seu projeto no computador de desenvolvimento local ou na assinatura do Azure.

Para funções de gatilho HTTP, a extensão chama o ponto de extremidade HTTP. Para outros tipos de gatilhos, ela chama as APIs de administrador para iniciar a função. O corpo da mensagem da solicitação enviada para a função depende do tipo de gatilho. Quando um gatilho exige dados de teste, você é solicitado a inserir dados em um formato JSON específico.

Executar funções no Azure.

Para executar a função agora no Azure por meio do Visual Studio Code.

  1. Na paleta de comandos, insira Azure Functions: executar função agora e escolha a assinatura do Azure.

  2. Escolha o aplicativo de funções no Azure na lista. Se você não estiver vendo o aplicativo de funções, verifique se está conectado à assinatura correta.

  3. Escolha a função que você deseja executar na lista e digite o corpo da mensagem da solicitação em Inserir corpo da solicitação. Clique em ENTER para enviar essa mensagem de solicitação à função. O texto padrão no Inserir corpo da solicitação deve indicar o formato do corpo. Se o aplicativo de funções não tiver funções, um erro de notificação será mostrado com esse erro.

  4. Quando a função é executada no Azure e retorna uma resposta, uma notificação é gerada no Visual Studio Code.

Você também pode executar a função na área Azure: Functions, clicando com o botão direito do mouse (clicando enquanto pressiona Ctrl no Mac) na função que você deseja executar no aplicativo de funções da assinatura do Azure e escolhendo Executar função agora... .

Quando você executa suas funções no Azure a partir do Visual Studio Code, a extensão usa sua conta do Azure para recuperar automaticamente as chaves necessárias para iniciar a função. Saiba mais sobre as chaves de acesso da função. Iniciar funções que não foram disparadas por HTTP requer o uso da chave de administração.

Executar funções localmente

O runtime local é o mesmo runtime que hospeda o aplicativo de funções no Azure. As configurações locais são lidas no arquivo local.settings.json. Para executar o projeto do Functions localmente, você deve atender a mais requisitos.

Configurar o projeto para ser executado localmente

O runtime do Functions usa uma conta de Armazenamento do Azure internamente para todos os tipos de gatilho diferentes de HTTP e WebHooks. Portanto, você precisa definir a chave Values.AzureWebJobsStorage para uma cadeia de conexão válida da conta de armazenamento do Azure.

Esta seção usa a extensão de Armazenamento do Azure para Visual Studio Code com o Gerenciador de Armazenamento do Azure para se conectar e recuperar a cadeia de conexão de armazenamento.

Para definir a cadeia de conexão da conta de armazenamento:

  1. No Visual Studio, abra o Gerenciador de Nuvem, expanda a Conta de Armazenamento>A Conta de Armazenamento, selecione Propriedades e copie o valor da Cadeia de Conexão Primária.

  2. Em seu projeto, abra o arquivo local.settings.json e defina o valor da chave AzureWebJobsStorage na cadeia de conexão que você copiou.

  3. Repita a etapa anterior para adicionar as chaves exclusivas para a matriz de Valores para todas as outras conexões necessárias para as suas funções.

Para obter mais informações, confira Arquivo de configurações local.

Depurar funções localmente

Para depurar as funções, selecione F5. Se você ainda não tiver baixado o Core Tools, será solicitado a fazê-lo. Quando o Core Tools está instalado e em execução, a saída é mostrada no Terminal. Essa etapa é a mesma da execução do comando do func start Core Tools no Terminal, mas com tarefas de compilação adicionais e um depurador anexado.

Quando o projeto estiver em execução, você poderá usar o recurso Executar função agora... da extensão para disparar as funções como você faria quando o projeto é implantado no Azure. Com o projeto em execução no modo de depuração, os pontos de interrupção são atingidos no Visual Studio Code como você esperaria.

  1. Na paleta de comandos, insira Azure Functions: executar função agora e escolha Projeto local.

  2. Escolha a função que você deseja executar no projeto e digite o corpo da mensagem da solicitação em Inserir corpo da solicitação. Clique em ENTER para enviar essa mensagem de solicitação à função. O texto padrão no Inserir corpo da solicitação deve indicar o formato do corpo. Se o aplicativo de funções não tiver funções, um erro de notificação será mostrado com esse erro.

  3. Quando a função é executada localmente e após o recebimento da resposta, uma notificação é gerada no Visual Studio Code. As informações sobre a execução da função são mostradas no painel Terminal.

A execução de funções localmente não exige o uso de chaves.

Configurações locais

Ao executar em um aplicativo de funções no Azure, as configurações exigidas por suas funções são armazenadas com segurança nas configurações do aplicativo. Durante o desenvolvimento local, essas configurações são adicionadas ao objeto Values no arquivo local.settings.json. O arquivo local.settings.json também armazena as configurações usadas pelas ferramentas de desenvolvimento locais.

Como o local.settings.json pode conter segredos, como cadeias de conexão, você nunca deve armazená-lo em um repositório remoto. Para saber mais sobre as configurações locais, consulte Arquivo de configurações locais.

Por padrão, essas configurações não são migradas automaticamente quando o projeto é publicado no Azure. Depois que a publicação for concluída, você terá a opção de publicar as configurações do local.settings.json no aplicativo de funções no Azure. Para saber mais, confira Publicar configurações de aplicativo.

Os valores em ConnectionStrings nunca são publicados.

Os valores de configuração do aplicativo de funções também podem ser lidos no código como variáveis de ambiente. Para obter mais informações, confira as seções de variáveis de Ambiente desses artigos de referência específicos de linguagem:

Configurações de aplicativo no Azure

As configurações no arquivo local.settings.json no projeto devem ser iguais às configurações do aplicativo de funções no Azure. As configurações adicionadas ao local.settings.json também devem ser adicionadas ao aplicativo de funções no Azure. Essas configurações não são carregadas automaticamente quando você publica o projeto. Da mesma forma, todas as configurações criadas no aplicativo de funções no portal devem ser baixadas no projeto local.

Publicar configuração de aplicativo

A maneira mais fácil de publicar as configurações necessárias no aplicativo de funções no Azure é usar o link Carregar configurações, que é exibido depois de publicar o projeto:

Screenshot to upload application settings.

Você também pode publicar as configurações usando o comando Azure Functions: carregar configuração local na paleta de comandos. Você pode adicionar configurações individuais às configurações de aplicativo no Azure usando o comando Azure Functions: adicionar nova configuração.

Dica

Salve o arquivo local.settings.json antes de publicá-lo.

Se o arquivo local for criptografado, ele será descriptografado, publicado e criptografado novamente. Se houver configurações com valores conflitantes nos dois locais, você será solicitado a escolher como proceder.

Exiba as configurações de aplicativo existentes na área Azure: Functions, expandindo a assinatura, o aplicativo de funções e as Configurações de Aplicativo.

 Screenshot for viewing function app settings in Visual Studio Code.

Baixar configurações do Azure

Se você criou as configurações de aplicativo no Azure, pode baixá-las no arquivo local.settings.json usando o comando Azure Functions: baixar configurações remotas.

Assim como acontece com o carregamento, se o arquivo local for criptografado, ele será descriptografado, atualizado e criptografado novamente. Se houver configurações com valores conflitantes nos dois locais, você será solicitado a escolher como proceder.

Funções de monitoramento

Quando você executa funções localmente, os dados de log são transmitidos para o console do Terminal. Você também pode obter os dados de log quando o projeto do Functions está em execução em um aplicativo de funções no Azure. Você pode se conectar aos logs de streaming no Azure para ver dados de log quase em tempo real. Você deve habilitar o Application Insights para obter uma compreensão mais completa do comportamento do seu aplicativo de funções.

Logs de streaming

Ao desenvolver um aplicativo, geralmente é útil visualizar as informações do registro em log quase em tempo real. Você pode exibir um fluxo de arquivos de log que estão sendo gerados pelas funções. Essa saída é um exemplo dos logs de streaming de uma solicitação para uma função disparada por HTTP:

Screenshot for streaming logs output for H T T P trigger.

Para saber mais, confira Logs de streaming.

Para ativar os logs de streaming para seu aplicativo de funções no Azure:

  1. Selecione F1 para abrir a paleta de comandos, pesquise e execute o comando Azure Functions: Iniciar Logs de Streaming.

  2. Selecione seu aplicativo de funções no Azure e, em seguida, selecione Sim para habilitar o log do aplicativo para o aplicativo de funções.

  3. Dispare suas funções no Azure. Observe que os dados de log são exibidos na janela de Saída no Visual Studio Code.

  4. Quando terminar, lembre-se de executar o comando Azure Functions: Parar Logs de Streaming para desabilitar o registro em log do aplicativo de funções.

Observação

Os logs de streaming dão suporte a apenas uma única instância do host do Functions. Quando a função é dimensionada para várias instâncias, os dados de outras instâncias não são mostrados no fluxo de log. O Live Metrics Stream no Application Insights dá suporte a várias instâncias. Embora também seja quase em tempo real, a análise de fluxo é baseada nos dados amostrados.

Application Insights

É recomendável monitorar a execução das funções integrando o aplicativo de funções com o Application Insights. Ao criar um aplicativo de funções no portal do Azure, essa integração ocorre por padrão. Ao criar o aplicativo de funções durante a publicação do Visual Studio, você precisa integrar o Application Insights. Para saber como, confira Habilitar a integração do Application Insights.

Para saber mais sobre o monitoramento usando o Application Insights, confira Monitorar o Azure Functions.

Projetos do C# de script

Por padrão, todos os projetos do C# são criados como projetos de biblioteca de classes compilados do C#. Se você preferir trabalhar com projetos de script do C#, deve selecionar o script do C# como linguagem padrão nas configurações de extensão do Azure Functions:

  1. Selecione Arquivo>Preferências>Configurações.

  2. Acesse Configurações de Usuário>Extensões>Azure Functions.

  3. Selecione o C#Script em Azure Function: linguagem do projeto.

Depois de concluir essas etapas, as chamadas feitas para o Core Tools subjacente incluem a opção --csx, que gera e publica arquivos de projeto com o script do C# (.csx). Quando você especifica essa linguagem padrão, todos os projetos criados aplicam o padrão para os projetos de script do C#. Você não será solicitado a escolher uma linguagem de projeto quando um padrão for definido. Para criar projetos em outras linguagens, você deve alterar essa configuração ou removê-la do arquivo settings.json do usuário. Depois de remover essa configuração, você será solicitado novamente a escolher a linguagem quando criar um projeto.

Referência da paleta de comandos

A extensão do Azure Functions fornece uma interface gráfica útil na área para interagir com os aplicativos de funções no Azure. A mesma funcionalidade também está disponível como comandos na paleta de comandos (F1). Estes comandos do Azure Functions estão disponíveis:

Comando do Azure Functions Descrição
Adicionar novas configurações Cria uma nova configuração de aplicativo no Azure. Para saber mais, confira Publicar configurações de aplicativo. Talvez você também precise baixar essa configuração nas configurações locais.
Configurar fonte de implantação Conecta o aplicativo de funções no Azure a um repositório Git local. Para saber mais, confira Implantação contínua para Azure Functions.
Conectar-se ao repositório GitHub Conecta o aplicativo de funções a um repositório GitHub.
Copiar URL da função Obtém a URL remota de uma função disparada por HTTP que está sendo executada no Azure. Para saber mais, confira Obter a URL da função implantada.
Criar aplicativo de funções no Azure Cria um novo aplicativo de funções na assinatura no Azure. Para saber mais, confira a seção sobre como publicar em um novo aplicativo de funções no Azure.
Descriptografar configurações Descriptografa as configurações locais que foram criptografadas em Azure Functions: criptografar configurações.
Excluir aplicativo de funções Remove um aplicativo de funções da assinatura no Azure. Quando não há outros aplicativos no plano do Serviço de Aplicativo, você também tem a opção de excluí-lo. Outros recursos, como contas de armazenamento e grupos de recursos, não são excluídos. Para remover todos os recursos, você deve excluir o grupo de recursos. O projeto local não é afetado.
Excluir função Remove uma função existente de um aplicativo de funções no Azure. Como essa exclusão não afeta o projeto local, remova a função localmente e, em seguida, republique o projeto.
Excluir proxy Remove um proxy do Azure Functions do aplicativo de funções no Azure. Para saber mais sobre proxies, confira Trabalhar com Proxies do Azure Functions.
Excluir configuração Exclui uma configuração de aplicativo de funções no Azure. Essa exclusão não afeta as configurações no arquivo local.settings.json.
Desconecte-se do repositório Remove a conexão de implantação contínua entre um aplicativo de funções no Azure e um repositório de controle do código-fonte.
Baixar configurações remotas Baixa as configurações do aplicativo de funções escolhido no Azure no arquivo local.settings.json. Se o arquivo local for criptografado, ele será descriptografado, atualizado e criptografado novamente. Se houver configurações com valores conflitantes nos dois locais, você será solicitado a escolher como proceder. Salve as alterações no arquivo local.settings.json antes de executar esse comando.
Editar configurações Altera o valor de uma configuração de aplicativo de funções existente no Azure. Esse comando não afeta as configurações no arquivo local.settings.json.
Criptografar configurações Criptografa itens individuais na matriz Values nas configurações locais. Nesse arquivo, IsEncrypted também é definido como true, que especifica que o runtime local descriptografará as configurações antes de usá-las. Criptografe as configurações locais para reduzir o risco de vazar informações valiosas. No Azure, as configurações de aplicativo sempre são armazenadas criptografadas.
Executar função agora Inicia manualmente uma função usando as APIs de administrador. Esse comando é usado para teste, tanto localmente durante a depuração quanto nas funções em execução no Azure. Quando uma função é iniciada no Azure, primeiro, a extensão obtém automaticamente uma chave de administração, que é usada para chamar as APIs de administração remotas que iniciam as funções no Azure. O corpo da mensagem enviada para a API depende do tipo de gatilho. Os gatilhos de temporizador não exigem que você transmita dados.
Inicializar projeto para uso com o VS Code Adiciona os arquivos de projeto do Visual Studio Code necessários a um projeto existente do Functions. Use esse comando para trabalhar com um projeto criado com o Core Tools.
Instalar ou atualizar o Azure Functions Core Tools Instala ou atualiza o Azure Functions Core Tools, que é usado para executar funções localmente.
Reimplantar Permite reimplantar arquivos de projeto em um repositório Git conectado para uma implantação específica no Azure. Para republicar as atualizações locais do Visual Studio Code, republique o projeto.
Renomear configurações Altera o nome de chave de uma configuração de aplicativo de funções existente no Azure. Esse comando não afeta as configurações no arquivo local.settings.json. Depois de renomear as configurações no Azure, você deve baixar essas alterações no projeto local.
Reiniciar Reinicia o aplicativo de funções no Azure. A implantação de atualizações também reinicia o aplicativo de funções.
Set AzureWebJobsStorage Define o valore da configuração de aplicativo AzureWebJobsStorage. Essa configuração é exigida pelo Azure Functions. Ela é definida quando um aplicativo de funções é criado no Azure.
Iniciar Inicia um aplicativo de funções parado no Azure.
Iniciar Streaming de Logs Inicia os logs de streaming para o aplicativo de funções no Azure. Use os logs de streaming durante a solução de problemas remota no Azure, se você precisar ver as informações de log quase em tempo real. Para saber mais, confira Logs de streaming.
Parar Interrompe um aplicativo de funções que está sendo executado no Azure.
Interromper logs de streaming Interrompe os logs de streaming para o aplicativo de funções no Azure.
Alternar como configuração de slot Quando habilitado, garante que uma configuração de aplicativo persista para determinado slot de implantação.
Desinstalar o Azure Functions Core Tools Remove o Azure Functions Core Tools, o que é exigido pela extensão.
Carregar configurações locais Carrega as configurações do arquivo local.settings.json no aplicativo de funções escolhido no Azure. Se o arquivo local for criptografado, ele será descriptografado, carregado e criptografado novamente. Se houver configurações com valores conflitantes nos dois locais, você será solicitado a escolher como proceder. Salve as alterações no arquivo local.settings.json antes de executar esse comando.
Exibir confirmação no GitHub Mostra a confirmação mais recente em uma implantação específica, quando o aplicativo de funções está conectado a um repositório.
Exibir logs de implantação Mostra os logs de uma implantação específica para o aplicativo de funções no Azure.

Próximas etapas

Para saber mais sobre o Azure Functions Core Tools, confira Trabalhar com o Azure Functions Core Tools.

Para saber mais sobre como desenvolver funções como bibliotecas de classes do .NET, consulte Referência do desenvolvedor de C# do Azure Functions. Este tópico também fornece links para exemplos de como usar atributos para declarar os vários tipos de associações com suporte no Azure Functions.