Firestore in modalità Datastore fornisce l'accesso ai metadati che includono informazioni su gruppi di entità, spazi dei nomi, tipi di entità, proprietà e rappresentazioni delle proprietà per ogni proprietà. Puoi utilizzare i metadati, ad esempio, per creare un datastore personalizzato per la tua applicazione o per funzioni amministrative di backend.
La dashboard di Datastore in la console Google Cloud fornisce anche alcuni metadati sulla tua applicazione, ma i dati mostrati sono diversi da alcuni aspetti importanti che vengono restituiti da queste funzioni.
- Novità. La lettura dei metadati utilizzando l'API recupera i dati correnti, mentre quelli della dashboard viene aggiornata una volta al giorno.
- Contenuti. Alcuni metadati nella dashboard non sono disponibili tramite le API e viceversa.
- Velocità. Le query e le selezioni dei metadati vengono fatturate nello stesso modo delle query e delle selezioni di Datastore. Le query sui metadati che recuperano informazioni su spazi dei nomi, tipi e proprietà sono generalmente lente da eseguire. Come regola generale, aspettati una query sui metadati che restituisce N entità da impiegare quasi nello stesso tempo di N query ordinarie ciascuna che restituisce una singola entità. Inoltre, query di rappresentazione delle strutture (query di proprietà non solo chiavi) sono più lente di query sulla proprietà basate solo su chiavi. I metadati dei gruppi di entità sono leggermente più veloci rispetto a quelli di un'entità normale.
Query dei metadati
Per le query sui metadati sono riservati tre tipi di entità speciali:
Entità | Descrizione |
---|---|
__namespace__ |
Utilizzato per trovare tutti gli spazi dei nomi utilizzati nelle entità dell'applicazione. |
__kind__ |
Utilizzato per eseguire query su un tipo specifico. |
__property__ |
Utilizzato per eseguire query in base a una proprietà di un tipo. |
Questi tipi non sono in conflitto con altri con gli stessi nomi che potrebbero già esistenti nella tua applicazione. Con l'esecuzione di query su questi tipi speciali, puoi recuperare con le entità contenenti i metadati desiderati.
Le entità restituite dalle query sui metadati vengono generate dinamicamente in base allo stato corrente del database. Sebbene tu possa creare oggetti entità locali di tipi __namespace__
, __kind__
o __property__
, qualsiasi tentativo di archiviarli nel database non andrà a buon fine.
Query sullo spazio dei nomi
Puoi utilizzare una query dello spazio dei nomi per trovare tutti gli spazi dei nomi utilizzati nella le entità. Ciò ti consente di svolgere attività come funzioni amministrative in più spazi dei nomi.
Le query dello spazio dei nomi restituiscono entità di tipo speciale __namespace__
la cui chiave
name è il nome di uno spazio dei nomi. Un'eccezione è lo spazio dei nomi predefinito designato dalla stringa vuota ""
: poiché la stringa vuota non è un nome di chiave valido, questo spazio dei nomi è associato all'ID numerico 1
. Query di questo
il tipo supporta l'applicazione di filtri solo per gli intervalli sopra la pseudoproprietà speciale __key__
,
il cui valore è la chiave dell'entità. I risultati possono essere ordinati in ordine crescente, ma non
decrescente) __key__
. Poiché le entità __namespace__
non hanno proprietà,
le query basate solo su chiavi e quelle non basate solo su chiavi restituiscono le stesse informazioni.
L'esempio seguente restituisce un elenco degli spazi dei nomi di un'applicazione nell'intervallo
tra i valori assegnati alle variabili startNamespace
e endNamespace
:
C#
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta API Cloud Datastore C# documentazione di riferimento.
Per autenticarti a Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Cloud Datastore Go.
Per autenticarti a Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per informazioni su come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta API Cloud Datastore Java documentazione di riferimento.
Per autenticarti a Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per informazioni su come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Cloud Datastore Node.js.
Per eseguire l'autenticazione in Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per informazioni su come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Cloud Datastore PHP.
Per eseguire l'autenticazione in Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per informazioni su come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Cloud Datastore Python.
Per autenticarti a Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per informazioni su come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta API Cloud Datastore Ruby documentazione di riferimento.
Per eseguire l'autenticazione in Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
GQL
SELECT __key__ FROM __namespace__ WHERE __key__ >= KEY(__namespace__, 'namespace-a') AND __key__ < KEY(__namespace__, 'namespace-b')
Query sui tipi
Le query sui tipi restituiscono entità di tipo __kind__
il cui nome della chiave è il nome di un tipo di entità. Le query di questo tipo sono implicitamente limitate alla query attuale
dello spazio dei nomi e supporta l'applicazione di filtri solo per intervalli oltre l'__key__
pseudoproprietà. I risultati possono essere ordinati in base al valore __key__
crescente (ma non decrescente). Poiché le entità __kind__
non hanno proprietà, vengono utilizzate solo entrambe le chiavi
e non solo chiavi restituiscono le stesse informazioni.
Nell'esempio seguente viene stampato un elenco dei tipi utilizzati in un'applicazione:
C#
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta API Cloud Datastore C# documentazione di riferimento.
Per eseguire l'autenticazione in Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per informazioni su come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta API Cloud Datastore Go documentazione di riferimento.
Per eseguire l'autenticazione in Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per informazioni su come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Cloud Datastore Java.
Per autenticarti a Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta API Cloud Datastore Node.js documentazione di riferimento.
Per eseguire l'autenticazione in Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta API Cloud Datastore PHP documentazione di riferimento.
Per autenticarti a Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Cloud Datastore Python.
Per autenticarti a Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta API Cloud Datastore Ruby documentazione di riferimento.
Per autenticarti a Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
GQL
SELECT __key__ FROM __kind__
Query sulle proprietà
Le query sulle proprietà restituiscono entità di tipo __property__
che indicano le proprietà indicizzate associate a un tipo di entità. (le proprietà non indicizzate non sono
included.) L'entità che rappresenta la proprietà p di tipo k viene creata come segue:
- La chiave dell'entità ha il tipo
__property__
e il nome della chiave p. - La chiave padre dell'entità ha il tipo
__kind__
e il nome della chiave k. - La proprietà array
property_representation
dell'entità contiene tutti i valori rappresentazioni della proprietà.
Ad esempio, se il database contiene esattamente due entità Task
con name
e done
proprietà:
Key: 'Task:1'
name: 'Read some properties'
done: true
Key: 'Task:2'
name: 'Climb'
done: null
le due entità restituite da una query __property__
saranno:
Key: '__kind__:Task/__property__:name'
property_representation: [ 'STRING' ]
Key: '__kind__:Task/__property__:done'
property_representation: [ 'BOOLEAN', 'NULL' ]
Le query sulle proprietà sono limitate implicitamente allo spazio dei nomi corrente e supportano un filtro limitato con un antecessore o un intervallo nella pseudoproprietà __key__
.
Una query della proprietà solo chiavi è più efficiente di una query non basata solo su chiavi, non ha bisogno di raccogliere le rappresentazioni della proprietà. Le seguenti di esempio recupera i nomi di tutti i tipi di entità di un'applicazione e proprietà associate a ciascuno:
C#
Per informazioni su come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta API Cloud Datastore C# documentazione di riferimento.
Per eseguire l'autenticazione in Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per informazioni su come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta API Cloud Datastore Go documentazione di riferimento.
Per autenticarti a Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per informazioni su come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Cloud Datastore Java.
Per autenticarti a Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Cloud Datastore Node.js.
Per autenticarti a Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Cloud Datastore PHP.
Per autenticarti a Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per informazioni su come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Cloud Datastore Python.
Per autenticarti a Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta API Cloud Datastore Ruby documentazione di riferimento.
Per autenticarti a Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
GQL
SELECT __key__ FROM __property__
Query sulle proprietà: rappresentazioni delle proprietà
Query su proprietà non solo chiavi, note come query di rappresentazione della proprietà,
restituiscono informazioni aggiuntive sui tipi di valore utilizzati per ciascuna proprietà. La proprietà property_representation
nell'entità che rappresenta la proprietà p di tipo k è un array contenente tutte le rappresentazioni del valore di p in qualsiasi entità di tipo k.
Ogni valore ha la seguente rappresentazione (tieni presente che alcuni tipi di valori condividono rappresentazioni):
Tipo di valore | Rappresentazione |
---|---|
Numero intero | INT64 |
Numero con virgola mobile | DOUBLE |
Booleano | BOOLEAN |
Stringa di testo | STRING |
Stringa byte | STRING |
Data e ora | INT64 |
Chiave Datastore | REFERENCE |
Entità incorporata | STRING |
Array | rappresentazione degli elementi dell'array |
Punto geografico | POINT |
Null | NULL |
L'esempio seguente trova tutte le rappresentazioni delle proprietà di tipo Task
,
utilizzando una query sulla proprietà principale:
C#
Per informazioni su come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta API Cloud Datastore C# documentazione di riferimento.
Per autenticarti a Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per informazioni su come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta API Cloud Datastore Go documentazione di riferimento.
Per autenticarti a Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta API Cloud Datastore Java documentazione di riferimento.
Per autenticarti a Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per informazioni su come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta API Cloud Datastore Node.js documentazione di riferimento.
Per autenticarti a Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta API Cloud Datastore PHP documentazione di riferimento.
Per autenticarti a Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta API Cloud Datastore Python documentazione di riferimento.
Per eseguire l'autenticazione in Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per informazioni su come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta API Cloud Datastore Ruby documentazione di riferimento.
Per autenticarti a Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
GQL
SELECT * FROM __property__ WHERE __key__ HAS ANCESTOR KEY(__kind__, 'Task')
Query proprietà: filtri
Le query sulle proprietà supportano i filtri sugli antenati su una chiave __kind__
o
__property__
per limitare i risultati della query a un singolo tipo o proprietà, come mostrato
nella query di rappresentazione della proprietà sopra.
Le query sulle proprietà possono essere filtrate anche con un intervallo della pseudoproprietà
__key__
, in cui le chiavi indicano entità __kind__
o __property__
. I risultati possono essere ordinati in ordine crescente (ma non decrescente) __key__
valore. Il filtro viene applicato alle coppie tipo-proprietà, ordinate prima per tipo e poi per proprietà. Ad esempio, supponiamo che tu abbia entità con questi
proprietà:
- tipo
Task
con proprietàcreated
priority
tags
- tipo
TaskList
con proprietàcreated
La seguente query sulle proprietà solo chiavi:
C#
Per informazioni su come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta API Cloud Datastore C# documentazione di riferimento.
Per eseguire l'autenticazione in Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Cloud Datastore Go.
Per autenticarti a Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Non applicabileJava
Per informazioni su come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Cloud Datastore Java.
Per eseguire l'autenticazione in Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Cloud Datastore Node.js.
Per autenticarti a Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Non applicabilePHP
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta API Cloud Datastore PHP documentazione di riferimento.
Per autenticarti a Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per informazioni su come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta API Cloud Datastore Python documentazione di riferimento.
Per autenticarti a Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Non applicabileRuby
Per scoprire come installare e utilizzare la libreria client per Cloud Datastore, consulta Librerie client di Cloud Datastore. Per ulteriori informazioni, consulta API Cloud Datastore Ruby documentazione di riferimento.
Per autenticarti a Cloud Datastore, configura le credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
GQL
SELECT __key__ FROM __property__ WHERE __key__ >= KEY(__kind__, 'Task', __property__, 'priority')
raccoglierà le seguenti coppie di tipo e nome proprietà:
Task, priority
Task, tags
TaskList, created
Nota che i risultati includono proprietà dei tipi Task
e TaskList
, ma
non includere la proprietà created
di tipo Task
, perché ricade al di fuori
l'intervallo specificato per la query.