Aviso: nos próximos meses, vamos reorganizar o site de documentação do App Engine para facilitar a localização de conteúdo e o alinhamento com o restante dos produtos do Google Cloud. O mesmo conteúdo estará disponível, mas a navegação agora corresponderá ao restante dos produtos do Cloud.
Guia de início rápido: criar um aplicativo .NET no ambiente flexível do App Engine

Criar um aplicativo .NET no ambiente flexível do App Engine

ID da região

O REGION_ID é um código abreviado que o Google atribui com base na região que você selecionou ao criar o aplicativo. O código não corresponde a um país ou estado, ainda que alguns IDs de região sejam semelhantes aos códigos de país e estado geralmente usados. Para apps criados após fevereiro de 2020, o REGION_ID.r está incluído nos URLs do App Engine. Para apps existentes criados antes dessa data, o ID da região é opcional no URL.

Saiba mais sobre IDs de região.

Neste guia de início rápido, você aprenderá a criar um pequeno app do App Engine que exibe uma mensagem curta.

Antes de começar

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como verificar se o faturamento está ativado em um projeto.

  4. Ative a Cloud Build API.

    Ative a API

  5. Instale e inicialize a Google Cloud CLI.
  6. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  7. Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como verificar se o faturamento está ativado em um projeto.

  8. Ative a Cloud Build API.

    Ative a API

  9. Instale e inicialize a Google Cloud CLI.

Pré-requisitos adicionais

  1. Inicialize seu aplicativo do App Engine com o projeto e escolha a região:

    gcloud app create --project=[YOUR_PROJECT_ID]
    

    Quando solicitado, selecione a região em que você quer localizar o aplicativo do App Engine.

  2. Instale os pré-requisitos a seguir:

    • Instale o SDK do .NET Core, versão LTS (em inglês).

    • Se você estiver usando o Visual Studio, é preciso ter a versão 2015 ou posterior. As imagens estão disponíveis para aplicativos ASP.NET Core (em inglês) escritos para o .NET Core 1.0, 1.1, 2.0 e 2.1.

    • Para implantar no App Engine diretamente do Visual Studio, instale o Cloud Tools for Visual Studio.

Locais do App Engine

O App Engine é regional. Isso significa que a infraestrutura que executa os aplicativos está em uma determinada região que é gerenciada pelo Google para estar disponível de modo redundante em todas as zonas dessa região.

Atender aos requisitos de latência, disponibilidade ou durabilidade são os principais fatores para selecionar a região de execução dos aplicativos. Geralmente, é possível selecionar a região mais próxima dos usuários do aplicativo, mas considere os locais em que o App Engine está disponível, bem como os locais dos outros produtos e serviços do Google Cloud usados pelo app. O uso de serviços em vários locais pode afetar a latência e o preço do aplicativo.

Não é possível alterar a região de um aplicativo depois de defini-la.

Se você já criou um aplicativo do App Engine, será possível ver a região dele com um dos seguintes procedimentos:

Para seguir este guia de início rápido, você precisa estar familiarizado com a criação de aplicativos da Web com o C#.

Fazer o download do app Hello World

Criamos um aplicativo Hello World simples para .NET. Assim, você pode ter uma ideia de como implantar um aplicativo no Google Cloud. O app Hello World é semelhante ao criado pelo Visual Studio quando um app vazio do ASP.NET Core é criado. O app de amostra adiciona um arquivo app.yaml. O app.yaml é um arquivo de configuração do App Engine. Nele, você especifica o ambiente de execução e outras configurações do App Engine.

  1. Clone o repositório do app de amostra Hello World na máquina local.

    git clone https://github.com/GoogleCloudPlatform/dotnet-docs-samples
    

    Outra opção é fazer o download da amostra (em inglês) como um arquivo ZIP e extraí-lo.

  2. Acesse o diretório que contém o código de amostra.

    cd dotnet-docs-samples/appengine/flexible/HelloWorld
    

Execute o Hello World na máquina local

Visual Studio

Para executar o aplicativo Hello World! no seu computador:

  1. Abra dotnet-docs-samples\appengine\flexible\HelloWorld\HelloWorld.sln com o Visual Studio.
  2. Pressione F5.

    Você verá a mensagem "Hello World" do aplicativo de amostra exibida na página.

Linha de comando

Para executar o aplicativo Hello World! no seu computador:

  1. Execute os seguintes comandos no diretório dotnet-docs-samples\appengine\flexible\HelloWorld:
    dotnet restore
    dotnet run
  2. No seu navegador da Web, acesse http://localhost:5000/.

    Você verá a mensagem "Hello World" do aplicativo de amostra exibida na página.

  3. Na janela do terminal, pressione Ctrl+C para sair do servidor da Web.

Implante e execute o Hello World no App Engine

Visual Studio

Para implantar o app Hello World:

  1. Abra dotnet-docs-samples\appengine\flexible\HelloWorld\HelloWorld.sln com o Visual Studio.
  2. No "Gerenciador de Soluções", clique com o botão direito do mouse em HelloWorld e selecione Publicar no Google Cloud...
  3. Clique em App Engine Flex.
  4. Clique em Publicar.
  5. Para ver seu aplicativo implantado, acesse o seguinte endereço no seu navegador:

    https://PROJECT_ID.REGION_ID.r.appspot.com

Linha de comando

  1. Execute os comandos a seguir no diretório dotnet-docs-samples\appengine\flexible\HelloWorld:

    dotnet restore
    dotnet publish -c Release
    gcloud app deploy .\bin\Release\netcoreapp2.1\publish\app.yaml
  2. Inicie o navegador e veja o aplicativo em https://PROJECT_ID.REGION_ID.r.appspot.com

    gcloud app browse

Nesse momento, a página que exibe a mensagem "Hello World" é enviada por um servidor da Web executado em uma instância do App Engine.

Parabéns! Você implantou seu primeiro aplicativo em .NET no ambiente flexível do App Engine.

Se você encontrar erros na implantação do app, verifique as dicas de solução de problemas.

Veja as seções a seguir para informações sobre limpeza e links das próximas etapas.

Limpar

Exclua o projeto do Google Cloud para não ser cobrado pelos recursos usados nele.

  1. No console, acesse a página Gerenciar recursos.

    Acessar "Gerenciar recursos"

  2. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
  3. Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.

A seguir

Conheça a plataforma inteira

Agora que você sabe como é desenvolver e implantar aplicativos do App Engine, explore o restante do Google Cloud. Você já tem a Google Cloud CLI instalada, o que oferece as ferramentas para interagir com produtos como Cloud SQL, Cloud Storage, Firestore e muitos outros.

Para ver um passo a passo sobre como criar um aplicativo que usa toda a plataforma, em vez de somente o App Engine, confira nosso guia de início rápido sobre a criação do app Bookshelf.

Saiba mais sobre o ambiente flexível do App Engine

Listamos alguns tópicos para você continuar aprendendo sobre o App Engine.

Revisão do código do Hello World

O Hello World é o app mais simples possível do App Engine. Nele, há apenas um serviço e uma versão, e todo o código é armazenado no diretório raiz. Cada arquivo do aplicativo é descrito em detalhes nesta seção.

Startup.cs

O app Hello World é um aplicativo ASP.NET simples:

    public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; }

        // This method gets called by the runtime. Use this method to add services to the container.
        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
        public void ConfigureServices(IServiceCollection services)
        {
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.Run(async (context) =>
            {
                string greeting = Configuration["My:Greeting"];
                await context.Response.WriteAsync(greeting);
            });
        }
    }

app.yaml

O arquivo app.yaml descreve a configuração de implantação do app:

runtime: aspnetcore
env: flex

# This sample incurs costs to run on the App Engine flexible environment.
# The settings below are to reduce costs during testing and are not appropriate
# for production use. For more information, see:
# https://cloud.google.com/appengine/docs/flexible/python/configuring-your-app-with-app-yaml
manual_scaling:
  instances: 1
resources:
  cpu: 1
  memory_gb: 0.5
  disk_size_gb: 10

env_variables:
  # The __ in My__Greeting will be translated to a : by ASP.NET.
  My__Greeting: Hello AppEngine!

Neste caso, app.yaml especifica o ambiente de execução usado pelo app e configura o env: flex, que determina o uso do ambiente flexível.