API Namespaces para serviços agrupados antigos

A API Namespaces no Google App Engine facilita a compartimentação dos seus dados do Google App Engine. Esta API é implementada através da função appengine.Namespace e está incorporada em determinadas APIs com espaço de nomes.

Quando define um espaço de nomes no gestor de espaços de nomes, estas APIs obtêm o espaço de nomes atual e usam-no globalmente. Pode declarar explicitamente um espaço de nomes localmente, mas tem de ter cuidado ao declarar espaços de nomes explicitamente, porque pode criar inadvertidamente fugas de dados e outros erros. Qualquer pedido do App Engine pode aceder a qualquer espaço de nomes, deixando à aplicação a aplicação de uma política de controlo de acesso em todos os espaços de nomes.

Pode usar a API Namespaces para criar uma vasta gama de aplicações. Uma das utilizações mais convincentes desta API é para aplicações multi-inquilino, conforme descrito abaixo.

Acerca da multitenancy

Multitenancy é o nome dado a uma arquitetura de software em que uma instância de uma aplicação, executada num servidor remoto, serve muitas organizações de clientes (também conhecidas como inquilinos).

A utilização de uma arquitetura multi-inquilino simplifica a administração e o aprovisionamento de inquilinos. Pode oferecer uma experiência do utilizador mais simplificada e personalizada, bem como agregar diferentes silos de dados num único esquema de base de dados. Como resultado, as suas aplicações tornam-se mais escaláveis e mais rentáveis à medida que as escala. Os dados tornam-se mais fáceis de segregar e analisar em vários inquilinos porque todos os inquilinos partilham o mesmo esquema de base de dados. Os diferentes grupos de utilizadores veem conteúdo personalizado integrado numa aplicação mais eficiente.

Criar uma aplicação multiinquilino com a API Namespaces

Com a API Namespaces, pode particionar facilmente os dados entre inquilinos, especificando simplesmente uma string de espaço de nomes exclusiva para cada inquilino. Basta definir o espaço de nomes para cada inquilino globalmente através do gestor de espaços de nomes (em vez de o definir explicitamente para um pedido específico). As APIs com espaço de nomes ativado usam sempre este espaço de nomes atual por predefinição.

A API Namespaces está integrada com o Google Workspace, o que lhe permite usar o seu domínio do Google Workspace como o espaço de nomes atual. Uma vez que o Google Workspace lhe permite implementar a sua app em qualquer domínio que possua, pode definir facilmente espaços de nomes únicos para todos os domínios associados à sua conta do Google Workspace.

Ao criar aplicações multiinquilinas, tem de impedir a fuga de dados entre espaços de nomes. Para mais informações, consulte o artigo Evitar fugas de dados.

APIs do App Engine que usam espaços de nomes

Atualmente, o App Engine suporta espaços de nomes nas seguintes APIs:

Projetos de exemplo que usam espaços de nomes

São fornecidas duas aplicações de livro de visitas de amostra que usam espaços de nomes:

Outras utilizações da API Namespace

Embora a API Namespaces permita a multilocação no App Engine, tem várias outras utilizações, incluindo:

  • Compartimentalizar informações do utilizador
  • Separar os dados de administrador dos dados da aplicação
  • Criar instâncias de armazenamento de dados separadas para testes e produção
  • Executar várias apps numa única instância do App Engine