O Python 2 não é mais compatível com a comunidade. Recomendamos que você migre aplicativos do Python 2 para o Python 3.

Como testar e implantar seu aplicativo atualizado no Python 3

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. A inclusão de REGION_ID.r em URLs do App Engine é opcional para aplicativos atuais. Em breve, será necessária para todos os aplicativos novos.

Para garantir uma transição tranquila, estamos atualizando o App Engine gradativamente para usar IDs de região. Se ainda não tivermos atualizado seu projeto do Google Cloud, você não verá um ID da região para o app. Como o ID é opcional para os apps atuais, não é necessário atualizar os URLs ou fazer outras alterações quando o ID da região está disponível para eles.

Saiba mais sobre IDs de região.

Depois de fazer upgrade do aplicativo para ficar compatível com o Python 2 e o Python 3:

  1. Teste o aplicativo em um ambiente Python 3 local.

  2. Implante e teste no App Engine sem transferir tráfego para o aplicativo.

  3. Migre o tráfego para o aplicativo.

Pode ser necessário gastar um bom tempo corrigindo problemas de compatibilidade que não são visíveis até que você execute o aplicativo de categoria mais alta em um ambiente Python 3.

Para evitar o uso de dados de produção e a cota do Google Cloud durante o teste, use os seguintes emuladores:

Outros serviços do Google Cloud, como Cloud Storage e Memorystore, não fornecem emuladores.

Como testar localmente

Para testar a funcionalidade do seu aplicativo antes da implantação, siga as instruções para executar localmente no ambiente de execução do Python 3.

Como testar no App Engine antes de transferir tráfego

Antes de encaminhar o tráfego para o aplicativo do Python de categoria mais alta, implante o aplicativo no ambiente de execução do Python 3 do App Engine para outra rodada de testes. Por exemplo, para testar o serviço default do aplicativo:

  1. Verifique se você atualizou os arquivos de configuração do aplicativo para compatibilidade com o ambiente de execução do Python 3.

    Não altere as variáveis de ambiente que enviam solicitações para emuladores ou bancos de dados de teste até que você esteja pronto para transferir o tráfego para o aplicativo.

  2. Implante a nova versão, mas impeça que o tráfego seja encaminhado automaticamente para a nova versão:

    gcloud app deploy --no-promote

  3. Acesse a nova versão no URL a seguir:

    https://VERSION_ID-dot-default-dot-PROJECT_ID.REGION_ID.r.appspot.com

Agora você pode testar sua nova versão no ambiente de execução do App Engine. Além disso, é possível depurar o aplicativo visualizando os registros. Saiba mais em Como gravar registros de aplicativos.

As solicitações enviadas para https://PROJECT_ID.REGION_ID.r.appspot.com são encaminhadas para a versão configurada anteriormente para receber tráfego.

Para testar novas versões de outros serviços, siga o mesmo processo, mas substitua default no URL pelo nome do seu serviço:

https://VERSION_ID-dot-SERVICE_ID-dot-PROJECT_ID.REGION_ID.r.appspot.com

Para mais informações sobre como apontar serviços e versões específicos, consulte Como as solicitações são roteadas.

Como migrar tráfego para seu aplicativo

Quando você estiver pronto para enviar tráfego para a nova versão:

  1. Atualize as variáveis de ambiente no arquivo app.yaml para enviar solicitações aos bancos de dados de produção e outros serviços em vez de emuladores ou dados de teste que você estava usando.

  2. Na implantação, impeça que o tráfego seja encaminhado automaticamente para a nova versão:

    gcloud app deploy --no-promote

  3. Quando você confirmar que o aplicativo está interagindo com os bancos de dados e os armazenamentos de dados de produção, use o Console do Cloud para migrar o tráfego:

    Gerenciar versões

    Selecione a versão mais recente do aplicativo de categoria mais alta e clique em Migrar tráfego.