Como usar o Cloud Firestore no modo Datastore
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
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:
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.
No seu aplicativo, declare o Datastore como uma dependência adicionando google/cloud-datastore
ao arquivo composer.json
do seu app e executando composer install
do diretório do seu app. Saiba mais sobre o
composer (em inglês).
Use a biblioteca de cliente do Google Cloud para
ler e gravar entidades
e consultar dados.
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.
Como usar o emulador do modo Datastore para testes locais
A Google Cloud CLI inclui um emulador local do modo de produção do
modo Datastore.
Use o emulador para desenvolver e testar seu aplicativo localmente. Além disso,
com o emulador, é possível gerar índices para a instância do modo de produção
do Datastore e excluir índices desnecessários.
Se você usar o servidor de desenvolvimento
local do Google App Engine para testar seu aplicativo,
é possível garantir que o servidor use o emulador do modo Datastore
definindo a sinalização --support_datastore_emulator=true
ao iniciar o servidor.
Se você estiver usando o emulador do modo Datastore, o dev_appserver exibirá:
... Using Cloud Datastore Emulator.
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.
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-04-21 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-04-21 UTC."],[[["\u003cp\u003eFirestore, an upgraded version of Datastore, is a NoSQL document database designed for automatic scaling, high performance, and straightforward application development, offering both Native mode and Datastore mode.\u003c/p\u003e\n"],["\u003cp\u003eFirestore in Datastore mode is recommended for App Engine applications, while Native mode is better suited for mobile and real-time notification use cases, with existing Datastore databases automatically upgrading to this mode.\u003c/p\u003e\n"],["\u003cp\u003eDatastore mode relies on indexes for all application queries, with automatic creation for single-property indexes and manual or emulator-assisted creation for complex composite indexes in the \u003ccode\u003eindex.yaml\u003c/code\u003e file.\u003c/p\u003e\n"],["\u003cp\u003eApp Engine apps have default service account permissions for Datastore mode and Firestore databases within the same Google Cloud project, though permissions can be adjusted via IAM roles.\u003c/p\u003e\n"],["\u003cp\u003eThe Datastore mode emulator, part of the Google Cloud CLI, allows for local development and testing, including index generation and deletion, and can be used in conjunction with the App Engine local development server.\u003c/p\u003e\n"]]],[],null,["# Using Cloud Firestore in Datastore Mode\n\nFirestore is a NoSQL document database built for automatic scaling,\nhigh performance, and ease of application development. It is the newest version\nof Datastore and introduces several improvements over\nDatastore.\n\nBecause Firestore in [Datastore mode](/datastore/docs)\nis optimized for server use cases and for\nApp Engine, we recommend using Firestore in\nDatastore mode for databases that will be used primarily by\nApp Engine apps. Firestore in Native mode is most useful for\nmobile and real-time notification use cases. For more information about\nFirestore modes, see [Choosing between Native Mode and\nDatastore mode](/datastore/docs/firestore-or-datastore).\n\nUsing Datastore mode with App Engine\n------------------------------------\n\nTo use Datastore mode with App Engine:\n\n1. If you haven't already done so,\n [create a database](/datastore/docs/store-query-data#create_a_database)\n and choose Firestore in Datastore mode.\n\n You can use existing Datastore databases with App Engine\n apps. These existing databases [will be automatically upgraded to\n Firestore in Datastore\n mode](/datastore/docs/upgrade-to-firestore).\n\n\n 1. In your app, declare Datastore as a dependency\n\n by adding `google/cloud-datastore` to your app's `composer.json` file and running\n `composer install` from your app's directory. Learn more about\n [composer](https://getcomposer.org).\n\n \u003cbr /\u003e\n\n 2. Use the Google Cloud Client Library to\n [read and write entities](/datastore/docs/concepts/entities)\n and to [query data](/datastore/docs/concepts/queries).\n\n Configuring indexes\n -------------------\n\n Datastore mode uses\n [indexes](/datastore/docs/concepts/indexes)\n for every query your application makes. The indexes are updated whenever an\n entity changes, so the results can be returned quickly when the app makes a\n query.\n\n Datastore mode automatically creates single-property indexes for use with\n simple types of queries. For complex queries that include multiple properties,\n you'll need to configure composite indexes in your app's `index.yaml` file.\n\n The App Engine development server will update your `index.yaml` file\n with the composite indexes needed to run your tests. Similarly, the\n [Datastore mode emulator can generate indexes](/datastore/docs/tools)\n when you run tests.\n\n You can also add the indexes to your app's\n `index.yaml` file [manually](/appengine/docs/legacy/standard/php/configuring-datastore-indexes-with-index-yaml) if you do not run local\n tests or your tests do not include complex queries.\n\n Setting database permissions\n ----------------------------\n\n By default, your app has all the permissions required to read and write to\n Datastore mode and Firestore databases in your\n Google Cloud project.\n\n To manage these permissions, each App Engine app uses a [default service\n account](/appengine/docs/legacy/standard/php/service-account)\n that gives full read and write access to Datastore mode\n and Firestore databases in the same project as the app. You can\n [change the permissions of the default service\n account](/appengine/docs/legacy/standard/php/access-control#modify-service-account),\n but your app may lose access unless you assign an IAM role with the\n [required permissions](/datastore/docs/access/iam#required_permissions).\n\n For information about allowing other users, apps, or projects to access a database, see\n [Accessing your database](/datastore/docs/activate).\n\n Using the Datastore mode emulator for local testing\n ---------------------------------------------------\n\n The Google Cloud CLI includes a local [emulator of the production Datastore mode\n mode environment](/datastore/docs/tools/datastore-emulator). You can use the emulator to develop and test your application locally. In addition, the emulator can help you generate indexes for your production Datastore mode mode instance and delete unneeded indexes.\n\n \u003cbr /\u003e\n\n If you use the App Engine [local development\n server](/appengine/docs/legacy/standard/python/tools/using-local-server) to test your\n app, you can ensure that the server will use the Datastore mode\n emulator by setting the `--support_datastore_emulator=true` flag when starting\n the server.\n\n If you are using the Datastore mode emulator, dev_appserver will display: \n\n ... Using Cloud Datastore Emulator.\n\n Pricing, quotas, and limits\n ---------------------------\n\n Datastore mode offers a free quota with daily limits. Paid\n accounts offer unlimited storage, read, and write operations. More information\n is available on the [Datastore Quotas](/appengine/docs/legacy/standard/php/quotas#Datastore) page."]]