Guia de início rápido para .NET no ambiente flexível do App Engine

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

Antes de começar

Antes de executar e implantar este início rápido, instale o SDK do Cloud e, em seguida, configure um projeto do GCP para o App Engine:

  1. Faça o download e instale o SDK do Cloud:

    Fazer o download do SDK

    Observação: se o SDK do Cloud já estiver instalado, atualize-o executando o comando a seguir:

    gcloud components update
    
  2. Crie um novo projeto:

    gcloud projects create [YOUR_PROJECT_ID] --set-as-default
    

    Verifique se o projeto foi criado:

    gcloud projects describe [YOUR_PROJECT_ID]
    

    Você verá detalhes do projeto parecidos com o seguinte:

    createTime: year-month-hour
    lifecycleState: ACTIVE
    name: project-name
    parent:
    id: '433637338589'
    type: organization
    projectId: project-name-id
    projectNumber: 499227785679
    
  3. Inicialize seu aplicativo do App Engine com o projeto e escolha a região dele:

    gcloud app create --project=[YOUR_PROJECT_ID]
    

    Quando solicitado, selecione a região em que o aplicativo do App Engine será armazenado.

  4. Verifique se o faturamento está ativado no projeto. Uma conta de faturamento precisa estar vinculada ao projeto para que o aplicativo seja implantado no App Engine.

    Ativar faturamento

    Sua implantação de ambiente flexível gerará custos enquanto estiver ativa. Limpe seu projeto quando terminar para evitar custos contínuos.

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

Como o App Engine é regional, a infraestrutura de execução dos aplicativos está em uma região específica e é gerenciada pelo Google para que esteja disponível de modo redundante em todas as zonas dessa região.

Os seus requisitos de latência, disponibilidade ou durabilidade são os principais fatores considerados para selecionar a região em que os aplicativos serão executados. Em geral, você escolhe a região mais próxima dos usuários do app. No entanto, pense também no local dos outros produtos e serviços do GCP utilizados pelo app. Se você usa os serviços em vários locais, a latência e o preço do app podem ser afetados.

O App Engine está disponível nas seguintes regiões:

  • northamerica-northeast1 (Montreal)
  • us-central (Iowa)
  • us-west2 (Los Angeles)
  • us-east1 (Carolina do Sul)
  • us-east4 (Virgínia do Norte)
  • southamerica-east1 (São Paulo)
  • europe-west (Bélgica)
  • europe-west2 (Londres)
  • europe-west3 (Frankfurt)
  • europe-west6 (Zurique)
  • asia-northeast1 (Tóquio)
  • asia-northeast2 (Osaka)
  • asia-east2 (Hong Kong)
  • asia-south1 (Mumbai)
  • australia-southeast1 (Sydney)

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

Se já tiver criado um aplicativo do App Engine, execute o comando gcloud app describe ou abra o painel do App Engine no Console do GCP para visualizar a região. A região do aplicativo do App Engine está listada em http://[YOUR_PROJECT_ID].appspot.com.

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

Faça o download do app Hello World

Criamos um app Hello World para .NET. Com ele, você tem uma ideia rápida da implantação de um app no Google Cloud Platform. O app Hello World é semelhante ao app 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 a partir do 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 aplicativo 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://YOUR_PROJECT_ID.appspot.com

Linha de comando

  1. Execute os comandos a seguir a partir do 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 seu navegador e visualize o aplicativo em http://YOUR_PROJECT_ID.appspot.com.

    gcloud app browse

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

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

Nas seções a seguir, veja informações sobre limpeza e links para as próximas etapas.

Limpeza

Exclua seu projeto do GCP para não ser cobrado pelos recursos usados nele.

  1. No Console do GCP, acesse a página "Projetos".

    Acessar a página Projetos

  2. Na lista de projetos, selecione um e clique em Excluir projeto.
  3. Na caixa de diálogo, digite o código do projeto e clique em Encerrar para excluí-lo.

A seguir

Conhecer a plataforma inteira

Agora que você sabe como é desenvolver e implantar aplicativos do App Engine, é possível explorar o restante do GCP. Você já tem instalado o SDK do Cloud, que fornece as ferramentas de interação com produtos como o Cloud SQL, o Cloud Storage, o Cloud Firestore e muito mais.

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

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 aplicativo "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 aplicativo:

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 aplicativo e configura env: flex, determinando o uso do ambiente flexível no aplicativo.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Ambiente flexível do App Engine para documentos .NET