Como usar o Cloud Firestore no modo Datastore

O Firestore é um banco de dados de documentos NoSQL criado para oferecer escalonamento automático, alto desempenho e facilidade no desenvolvimento de aplicativos. O Firestore é a mais nova versão do Datastore e apresenta várias melhorias em relação a ele.

Como o Firestore no modo Datastore é otimizado para casos de uso do servidor e para o App Engine, recomendamos usar o Firestore no modo Datastore para bancos de dados que serão usados principalmente por aplicativos do App Engine. O Firestore no modo nativo é mais útil para casos de uso de notificações móveis e em tempo real. Para mais informações sobre os modos do Firestore, consulte Como escolher entre o modo nativo e o modo Datastore.

Como usar o modo Datastore com o App Engine

Para usar o modo Datastore com o App Engine:

  1. Se ainda não tiver feito isso, crie um banco de dados e escolha o Firestore no modo Datastore.

    É possível usar os bancos de dados do Datastore atuais com aplicativos do App Engine. Esses bancos de dados atuais serão atualizados automaticamente para o Firestore no modo Datastore.

  2. Usar o Cloud NDB)

    para criar, recuperar e gerenciar entidades no banco de dados do modo Datastore.

Se estiver planejando fazer upgrade do aplicativo Python 2 para o Python 3, há algumas opções:

  • Se o aplicativo Python 2 usa o App Engine NDB para interagir com o Datastore, recomendamos migrar para o Cloud NDB em vez da biblioteca de cliente do modo Datastore porque o primeiro oferece uma experiência do usuário muito mais semelhante.

  • Também é possível fazer a portabilidade do aplicativo Python 2 que usa o NDB do App Engine para Python 3 primeiro e depois migrar para o Cloud NDB. Para saber como acessar o App Engine NDB no Python 3, consulte a página Como acessar serviços incluídos no App Engine para Python 3.

Para ver outros recursos e um exemplo de migração de um app Python 2 webapp que usa o App Engine NDB para um aplicativo Python 3 Flask equivalente com o App Engine NDB ativado, consulte os serviços incluídos no Python 3.

Como configurar índices

O modo Datastore usa índices para cada consulta feita pelo aplicativo. Esses índices são atualizados sempre que uma entidade sofre alterações para que os resultados sejam retornados com rapidez quando o aplicativo fizer uma consulta.

O modo Datastore cria automaticamente índices de propriedade única para o uso com tipos simples de consultas. Para consultas complexas que incluem várias propriedades, você precisará configurar índices compostos no arquivo index.yaml do app.

O servidor de desenvolvimento do App Engine atualizará o arquivo index.yaml com os índices compostos necessários para executar os testes. Da mesma forma, o emulador do modo Datastore pode gerar índices ao executar testes.

Também é possível adicionar os índices ao arquivo index.yaml do app manualmente se você não executar testes locais ou se os testes não incluírem consultas complexas.

Como configurar permissões de banco de dados

Por padrão, o app tem todas as permissões necessárias para ler e gravar no modo Datastore e nos bancos de dados do Firestore no projeto do Google Cloud.

Para gerenciar essas permissões, cada aplicativo do App Engine usa uma conta de serviço padrão que concede acesso total de leitura e gravação ao modo Datastore e aos bancos de dados do Firestore no mesmo projeto do aplicativo. É possível alterar as permissões da conta de serviço padrão, mas o aplicativo poderá perder o acesso, a menos que você atribua um papel do IAM com as permissões necessárias.

Para informações sobre como permitir que outros usuários, aplicativos ou projetos acessem um banco de dados, consulte Como acessar o banco de dados.

Preços, cotas e limites

O modo Datastore oferece uma cota gratuita com limites diários. As contas pagas oferecem operações ilimitadas de armazenamento, leitura e gravação. Para mais informações, consulte a página Cotas do Datastore.