Quickstart: Crie a sua primeira função em Azure usando o Visual StudioQuickstart: Create your first function in Azure using Visual Studio

Neste artigo, utiliza o Visual Studio para criar uma função baseada na biblioteca de classe C# que responda aos pedidos HTTP.In this article, you use Visual Studio to create a C# class library-based function that responds to HTTP requests. Depois de testar o código localmente, implemente-o para o ambiente sem servidor das Funções Azure.After testing the code locally, you deploy it to the serverless environment of Azure Functions.

Completar este quickstart incorre num pequeno custo de alguns usd ou menos na sua conta Azure.Completing this quickstart incurs a small cost of a few USD cents or less in your Azure account.

Pré-requisitosPrerequisites

Para completar este tutorial, instale primeiro o Visual Studio 2019.To complete this tutorial, first install Visual Studio 2019. Certifique-se de que seleciona a carga de trabalho de desenvolvimento do Azure durante a instalação.Ensure you select the Azure development workload during installation. Se pretender criar um projeto Azure Functions utilizando o Visual Studio 2017, tem primeiro de instalar as mais recentes ferramentas Azure Functions.If you want to create an Azure Functions project by using Visual Studio 2017 instead, you must first install the latest Azure Functions tools.

Instale o Estúdio Visual com a carga de trabalho de desenvolvimento do Azure

Se não tiver uma subscrição do Azure,crie uma conta gratuita antes de começar.If you don't have an Azure subscription, create a free account before you begin.

Criar um projeto de aplicação de funçãoCreate a function app project

O modelo de projeto Azure Functions no Visual Studio cria um projeto que pode publicar para uma aplicação de função em Azure.The Azure Functions project template in Visual Studio creates a project that you can publish to a function app in Azure. Pode utilizar uma aplicação de função para agrupar funções como uma unidade lógica para facilitar a gestão, implementação, escala e partilha de recursos.You can use a function app to group functions as a logical unit for easier management, deployment, scaling, and sharing of resources.

  1. A partir do menu Estúdio Visual, selecione File > New > Project.From the Visual Studio menu, select File > New > Project.

  2. Em Criar um novo projeto, introduzir funções na caixa de pesquisa, escolher o modelo Azure Functions e, em seguida, selecionar Seguinte.In Create a new project, enter functions in the search box, choose the Azure Functions template, and then select Next.

  3. Em Configurar o seu novo projeto, insira um nome de Projeto para o seu projeto e, em seguida, selecione Create.In Configure your new project, enter a Project name for your project, and then select Create. 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.The function app name must be valid as a C# namespace, so don't use underscores, hyphens, or any other nonalphanumeric characters.

  4. Para criar uma nova definição de aplicação Azure Functions, utilize os valores no quadro seguinte:For the Create a new Azure Functions application settings, use the values in the following table:

    DefiniçãoSetting ValorValue DescriptionDescription
    Tempo de execução das funçõesFunctions runtime Funções Azure v3
    (.NET Core)
    Azure Functions v3
    (.NET Core)
    Este valor cria um projeto de função que utiliza a versão 3.x runtime das Funções Azure, que suporta .NET Core 3.x.This value creates a function project that uses the version 3.x runtime of Azure Functions, which supports .NET Core 3.x. As Funções do Azure 1.x suportam o .NET Framework.Azure Functions 1.x supports the .NET Framework. Para obter mais informações, consulte as versões de tempo de execução do Azure Functions.For more information, see Azure Functions runtime versions overview.
    Modelo de funçãoFunction template Acionador HTTPHTTP trigger Este valor cria uma função desencadeada por um pedido HTTP.This value creates a function triggered by an HTTP request.
    Conta de armazenamento (AzureWebJobsStorage)Storage account (AzureWebJobsStorage) Emulador de armazenamentoStorage emulator Como uma Função Azure requer uma conta de armazenamento, uma é atribuída ou criada quando publica o seu projeto ao Azure.Because an Azure Function requires a storage account, one is assigned or created when you publish your project to Azure. Um gatilho HTTP não utiliza uma cadeia de ligação de conta Azure Storage; todos os outros tipos de gatilho requerem uma cadeia de ligação válida da conta Azure Storage.An HTTP trigger doesn't use an Azure Storage account connection string; all other trigger types require a valid Azure Storage account connection string.
    Nível de autorizaçãoAuthorization level AnónimoAnonymous A função criada pode ser acionada por qualquer cliente sem fornecer uma chave.The created function can be triggered by any client without providing a key. Esta definição de autorização torna mais fácil testar a função nova.This authorization setting makes it easy to test your new function. Para obter mais informações sobre chaves e autorização, consulte as chaves de autorização e as ligações HTTP e webhook.For more information about keys and authorization, see Authorization keys and HTTP and webhook bindings.

    Definições de projeto de funções Azure

    Certifique-se de que define o nível de Autorização para Anónimo.Make sure you set the Authorization level to Anonymous. Se escolher o nível predefinido de Função, é-lhe exigido que apresente a tecla de função nos pedidos de acesso ao ponto final da função.If you choose the default level of Function, you're required to present the function key in requests to access your function endpoint.

  5. Selecione Criar para criar o projeto de função e a função de gatilho HTTP.Select Create to create the function project and HTTP trigger function.

O Visual Studio cria um projeto e classe que contém código de placa de caldeira para o tipo de função do gatilho HTTP.Visual Studio creates a project and class that contains boilerplate code for the HTTP trigger function type. O código automático envia uma resposta HTTP que inclui um valor da cadeia de consulta ou de corpo de pedido.The boilerplate code sends an HTTP response that includes a value from the request body or query string. O HttpTrigger atributo especifica que a função é desencadeada por um pedido HTTP.The HttpTrigger attribute specifies that the function is triggered by an HTTP request.

Mude o nome da funçãoRename the function

O FunctionName atributo método define o nome da função, que por padrão é gerada como Function1 .The FunctionName method attribute sets the name of the function, which by default is generated as Function1. Uma vez que a ferramenta não permite que se sobreponha ao nome da função predefinida quando criar o seu projeto, desem um minuto para criar um nome melhor para a classe de função, arquivo e metadados.Since the tooling doesn't let you override the default function name when you create your project, take a minute to create a better name for the function class, file, and metadata.

  1. No File Explorer, clique com Function1.cs e rebatize-o para HttpExample.cs .In File Explorer, right-click the Function1.cs file and rename it to HttpExample.cs.

  2. No código, rebatize a classe Function1 para 'HttpExample'.In the code, rename the Function1 class to `HttpExample'.

  3. No HttpTrigger método denominado Run , rebatize o FunctionName método a HttpExample .In the HttpTrigger method named Run, rename the FunctionName method attribute to HttpExample.

Agora que renomeou a função, pode testá-la no computador local.Now that you've renamed the function, you can test it on your local computer.

Executar a função localmenteRun the function locally

O Visual Studio integra-se com as Ferramentas Core de Funções Azure para que possa testar as suas funções localmente utilizando o tempo completo de funcionamento das Funções Azure.Visual Studio integrates with Azure Functions Core Tools so that you can test your functions locally using the full Azure Functions runtime.

  1. Para executar a sua função, prima F5 no Estúdio Visual.To run your function, press F5 in Visual Studio. Pode ser necessário permitir uma exceção à firewall para que as ferramentas possam lidar com pedidos HTTP.You might need to enable a firewall exception so that the tools can handle HTTP requests. Os níveis de autorização nunca são aplicados quando se executa uma função localmente.Authorization levels are never enforced when you run a function locally.

  2. Copie o URL da sua função na saída do tempo de execução das funções do Azure.Copy the URL of your function from the Azure Functions runtime output.

    Tempo de execução local do Azure

  3. Cole o URL do pedido HTTP na barra de endereço do browser.Paste the URL for the HTTP request into your browser's address bar. Anexar a corda ?name=<YOUR_NAME> de consulta a este URL e executar o pedido.Append the query string ?name=<YOUR_NAME> to this URL and run the request. A imagem seguinte mostra a resposta no navegador ao pedido de GET local devolvido pela função:The following image shows the response in the browser to the local GET request returned by the function:

    Resposta da função localhost no browser

  4. Para parar de depurar, prima Shift+F5 no Estúdio Visual.To stop debugging, press Shift+F5 in Visual Studio.

Depois de verificar que a função é executada corretamente no computador local, deve publicar o projeto no Azure.After you've verified that the function runs correctly on your local computer, it's time to publish the project to Azure.

Publicar o projeto no AzurePublish the project to Azure

Antes de poder publicar o seu projeto, tem de ter uma aplicação de função na sua subscrição Azure.Before you can publish your project, you must have a function app in your Azure subscription. A publicação visual Studio cria uma aplicação de função para si na primeira vez que publica o seu projeto.Visual Studio publishing creates a function app for you the first time you publish your project.

  1. No Explorador de Soluções, clique com o botão direito do rato no projeto e selecione Publicar.In Solution Explorer, right-click the project and select Publish.

  2. Na Escolha um alvo de publicação, utilize as opções de publicação especificadas no quadro seguinte:In Pick a publish target, use the publish options specified in the following table:

    OpçãoOption DescriptionDescription
    Plano de Consumo de Funções AzureAzure Functions Consumption Plan Crie uma aplicação de função num ambiente em nuvem Azure que funciona num plano de Consumo.Create a function app in an Azure cloud environment that runs in a Consumption plan. Quando utiliza um plano de consumo, paga-se apenas pelas execuções da aplicação de funções.When you use a Consumption plan, you pay only for executions of your functions app. Outros planos de hospedagem incorrem em custos mais elevados.Other hosting plans incur higher costs. Se correr num plano que não seja um plano de consumo, tem de gerir o escalonamento da sua aplicação de função.If you run in a plan other than a Consumption plan, you must manage the scaling of your function app.
    Criar NovoCreate New Uma nova aplicação de função, com recursos relacionados, é criada no Azure.A new function app, with related resources, is created in Azure.
    Se escolher Select Existing, todos os ficheiros da aplicação de função existente em Azure são substituídos por ficheiros do projeto local.If you choose Select Existing, all files in the existing function app in Azure are overwritten by files from the local project. Utilize esta opção apenas quando republicar as atualizações para uma aplicação de função existente.Use this option only when you republish updates to an existing function app.
    Executar a partir de arquivo de pacoteRun from package file A sua aplicação de função é implementada utilizando o zip deploy com o modo Run-From-Package ativado.Your function app is deployed using Zip Deploy with Run-From-Package mode enabled. Esta implementação, que resulta num melhor desempenho, é a forma recomendada de executar as suas funções.This deployment, which results in better performance, is the recommended way of running your functions.
    Se não utilizar esta opção, certifique-se de impedir que o seu projeto de aplicação de função funcione localmente antes de publicar para o Azure.If you don't use this option, make sure to stop your function app project from running locally before you publish to Azure.

    Criar um perfil de publicação

  3. Selecione Criar Perfil.Select Create Profile. Se ainda não se inscreveu na sua conta Azure do Visual Studio, selecione 'Iniciar s-in'.If you haven't already signed-in to your Azure account from Visual Studio, select Sign-in. Também pode criar uma conta Azure gratuita.You can also create a free Azure account.

  4. No Serviço de Aplicações: Criar novo, utilizar os valores especificados no quadro seguinte:In App Service: Create new, use the values specified in the following table:

    DefiniçãoSetting ValorValue DescriçãoDescription
    NomeName Nome globalmente exclusivoGlobally unique name Nome que identifica exclusivamente a sua nova aplicação de funções.Name that uniquely identifies your new function app. Aceite este nome ou insira um novo nome.Accept this name or enter a new name. Os caracteres válidos são: a-z 0-9 , e - .Valid characters are: a-z, 0-9, and -.
    SubscriçãoSubscription A sua subscriçãoYour subscription A subscrição do Azure que deve utilizar.The Azure subscription to use. Aceite esta subscrição ou selecione uma nova da lista de drop-down.Accept this subscription or select a new one from the drop-down list.
    Grupo de recursosResource group Nome do seu grupo de recursosName of your resource group O grupo de recursos para criar a sua aplicação de função.The resource group in which to create your function app. Selecione um grupo de recursos existente da lista de drop-down ou escolha Novo para criar um novo grupo de recursos.Select an existing resource group from the drop-down list or choose New to create a new resource group.
    Plano de HospedagemHosting Plan Nome do seu plano de hospedagemName of your hosting plan Selecione Novo para configurar um plano sem servidor.Select New to configure a serverless plan. Certifique-se de escolher o Consumo em Tamanho.Make sure to choose the Consumption under Size. Quando publica o seu projeto numa aplicação de função que funciona num plano de Consumo,paga apenas para execuções da sua aplicação de funções.When you publish your project to a function app that runs in a Consumption plan, you pay only for executions of your functions app. Outros planos de hospedagem incorrem em custos mais elevados.Other hosting plans incur higher costs. Se correr num plano diferente do Consumo, tem de gerir o escalonamento da sua aplicação de função.If you run in a plan other than Consumption, you must manage the scaling of your function app.
    LocalizaçãoLocation Localização do serviço de aplicaçõesLocation of the app service Escolha uma Localização numa região próxima ou noutros serviços a que as suas funções acedam.Choose a Location in a region near you or other services your functions access.
    Armazenamento do AzureAzure Storage Conta de armazenamento para fins geraisGeneral-purpose storage account Uma conta de Armazenamento Azure é exigida pelo tempo de funcionamento das Funções.An Azure Storage account is required by the Functions runtime. Selecione Novo para configurar uma conta de armazenamento para fins gerais.Select New to configure a general-purpose storage account. Também pode escolher uma conta existente que satisfaça os requisitos da conta de armazenamento.You can also choose an existing account that meets the storage account requirements.

    Caixa de diálogo Criar App Service

  5. Selecione Criar para criar uma aplicação de função e os seus recursos relacionados em Azure com estas definições e implementar o seu código de projeto de função.Select Create to create a function app and its related resources in Azure with these settings and deploy your function project code.

  6. Selecione Publicar e aguarde que a implementação esteja concluída.Select Publish and wait for the deployment to complete.

    Após a implementação completar o URL raiz da aplicação de função em Azure é mostrado no separador Publicar.After the deployment completes the root URL of the function app in Azure is shown in the Publish tab.

  7. No separador Publicar, escolha Gerir no Cloud Explorer.In the Publish tab, choose Manage in Cloud Explorer. Isto abre a nova aplicação de função Azure recurso no Cloud Explorer.This opens the new function app Azure resource in Cloud Explorer.

    Mensagem de publicação bem-sucedida

    O Cloud Explorer permite-lhe utilizar o Visual Studio para visualizar os conteúdos do site, iniciar e parar a aplicação de funções, e navegar diretamente para funcionar os recursos da aplicação no Azure e no portal Azure.Cloud Explorer lets you use Visual Studio to view the contents of the site, start and stop the function app, and browse directly to function app resources on Azure and in the Azure portal.

Testar a sua função no AzureTest your function in Azure

  1. No Cloud Explorer, a sua nova aplicação de função deve ser selecionada.In Cloud Explorer, your new function app should be selected. Caso contrário, expanda a sua subscrição > Serviços de Aplicaçõese selecione a sua nova aplicação de função.If not, expand your subscription > App Services, and select your new function app.

  2. Clique com o botão direito na aplicação de função e escolha Abrir no Browser.Right-click the function app and choose Open in Browser. Isto abre a raiz da sua aplicação de função no seu navegador web padrão e exibe a página que indica que a sua aplicação de função está em execução.This opens the root of your function app in your default web browser and displays the page that indicates your function app is running.

    Aplicação de função em execução

  3. Na barra de endereços do navegador, adiciste a cadeia /api/HttpExample?name=Functions ao URL base e execute o pedido.In the address bar in the browser, append the string /api/HttpExample?name=Functions to the base URL and run the request.

    O URL que chama a sua função de gatilho HTTP está no seguinte formato:The URL that calls your HTTP trigger function is in the following format:

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

  4. Vá a este URL e veja uma resposta no navegador ao pedido remoto GET devolvido pela função, que parece ser o seguinte exemplo:Go to this URL and you see a response in the browser to the remote GET request returned by the function, which looks like the following example:

    Resposta de função no navegador

Limpar os recursosClean up resources

Outros guias de introdução desta coleção têm por base este guia de introdução.Other quickstarts in this collection build upon this quickstart. Se planeia trabalhar com quickstarts subsequentes, tutoriais ou com qualquer um dos serviços que criou neste arranque rápido, não limpe os recursos.If you plan to work with subsequent quickstarts, tutorials, or with any of the services you have created in this quickstart, do not clean up the resources.

Os recursos no Azure referem-se a aplicações de funções, funções, contas de armazenamento e assim sucessivamente.Resources in Azure refer to function apps, functions, storage accounts, and so forth. Estão agrupados em grupos de recursos, e podes apagar tudo num grupo, eliminando o grupo.They're grouped into resource groups, and you can delete everything in a group by deleting the group.

Criou recursos para concluir estes guias de introdução.You created resources to complete these quickstarts. Poderá ser-lhe cobrado estes recursos, dependendo do seu estado da conta e dos preços dos serviços.You may be billed for these resources, depending on your account status and service pricing. Se já não precisar dos recursos, pode eliminá-los da seguinte forma:If you don't need the resources anymore, here's how to delete them:

  1. No Cloud Explorer, expanda a sua subscrição > Serviços de Aplicação, clique com o botão direito na sua aplicação de função e escolha Abrir no Portal.In the Cloud Explorer, expand your subscription > App Services, right-click your function app, and choose Open in Portal.

  2. Na página de aplicações da função, selecione o separador 'Vista Geral' e, em seguida, selecione o link no grupo De recursos.In the function app page, select the Overview tab and then select the link under Resource group.

    Selecione o grupo de recursos para eliminar a partir da página de aplicação de funções

  3. Na página do grupo Recursos, reveja a lista de recursos incluídos e verifique se são eles que pretende eliminar.In the Resource group page, review the list of included resources, and verify that they're the ones you want to delete.

  4. Selecione Eliminar grupo de recursos e siga as instruções.Select Delete resource group, and follow the instructions.

    A eliminação pode demorar alguns minutos.Deletion may take a couple of minutes. Quando terminar, é apresentada uma notificação durante alguns segundos.When it's done, a notification appears for a few seconds. Também pode selecionar o ícone de sino na parte superior da página para ver a notificação.You can also select the bell icon at the top of the page to view the notification.

Passos seguintesNext steps

Neste quickstart, utilizou o Visual Studio para criar e publicar uma aplicação de função C# em Azure com uma função de gatilho HTTP simples.In this quickstart, you used Visual Studio to create and publish a C# function app in Azure with a simple HTTP trigger function.

Avance para o próximo artigo para aprender a adicionar uma fila de armazenamento Azure à sua função:Advance to the next article to learn how to add an Azure Storage queue binding to your function: