ID regione
Il REGION_ID
è un codice abbreviato che Google assegna
in base alla regione selezionata durante la creazione dell'app. Il codice non
corrisponde a un paese o a una provincia, anche se alcuni ID regione possono sembrare
simili ai codici di paesi e province di uso comune. Per le app create dopo
febbraio 2020, REGION_ID.r
è incluso negli
URL App Engine. Per le app esistenti create prima di questa data, l'ID regione è facoltativo nell'URL.
Scopri di più sugli ID regione.
Utilizza le informazioni degli utenti autenticati per archiviare e recuperare dati specifici dell'utente e personalizzare l'esperienza di ogni utente con il tuo servizio web.
In un passaggio precedente, hai aggiornato il servizio web per visualizzare le ultime dieci richieste di tutti gli utenti. In questo passaggio, utilizzi le informazioni dell'utente autenticato per aggiornare il tuo servizio web in modo che la pagina mostri solo un elenco delle ultime dieci richieste effettuate dall'utente attualmente autenticato.
Prima di iniziare
Se hai completato tutti i passaggi precedenti di questa guida, salta questa sezione. In caso contrario, completa una delle seguenti operazioni:
Inizia da Crea un'app Python 3 e completa tutti i passaggi precedenti.
Se hai già un Google Cloud progetto, puoi continuare scaricando una copia del servizio web e aggiungendo Firebase:
Scarica il repository dell'applicazione di esempio utilizzando Git:
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
In alternativa, puoi scaricare il campione come file ZIP e poi estrarlo.
Vai alla directory che contiene una copia dei file del passaggio precedente:
cd python-docs-samples/appengine/standard_python3/building-an-app/building-an-app-3
Aggiungi Firebase al tuo Google Cloud progetto e al tuo servizio web.
Archivia e recupera dati specifici dell'utente
Puoi indicare che i dati sono collegati a un determinato utente utilizzando gli antenati di Firestore in modalità Datastore (Datastore), che ti consentono di organizzare i dati di Datastore in modo gerarchico.
A tale scopo, completa i seguenti passaggi:
Aggiorna i metodi
store_time
efetch_time
per utilizzare gli antenati di Datastore per archiviare e recuperare le entitàvisit
:Ogni entità
visit
ora ha un antenato a cui è collegata. Questi antenati sono entità Datastore che rappresentano singoli utenti autenticati. La chiave di ogni predecessore include ilUser
tipo e un ID personalizzato, ovvero l'indirizzo email dell'utente autenticato. Utilizzi la chiave antenato per eseguire query nel database solo per le ore associate a un utente specifico.Aggiorna la chiamata al metodo
store_times
nel metodoroot
e spostala all'interno della condizioneid_token
in modo che venga eseguita solo se il server ha autenticato un utente:
Configurazione degli indici
Datastore esegue query basate sugli indici. Per le entità semplici,
Datastore genera automaticamente questi indici. Tuttavia, non può
generare automaticamente indici per entità più complicate, incluse quelle
con antenati.
Per questo motivo, devi creare manualmente un indice per le entità visit
in modo che Datastore possa eseguire query che coinvolgono le entità visit
.
Per creare un indice per le entità visit
, completa i seguenti passaggi:
Crea un file
index.yaml
nella directory principale del progetto, ad esempiobuilding-an-app
, e aggiungi il seguente indice:Esegui il deployment degli indici
index.yaml
in Datastore eseguendo il seguente comando e seguendo le istruzioni:gcloud datastore indexes create index.yaml
La creazione degli indici da parte di Datastore può richiedere del tempo. La creazione di indici prima del deployment del servizio web in App Engine ti consente di eseguire test localmente utilizzando questi indici ed evita eccezioni che potrebbero verificarsi per le query che richiedono un indice ancora in fase di creazione.
Per saperne di più sulla creazione di indici Datastore, consulta la pagina Configurazione degli indici Datastore.
Testare il servizio web
Testa il tuo servizio web eseguendolo localmente in un ambiente virtuale:
Esegui questo comando nella directory principale del progetto per eseguire il servizio web. Se non hai configurato un ambiente virtuale per i test locali, consulta la sezione Test del servizio web.
python main.py
Inserisci il seguente indirizzo nel browser web per visualizzare il servizio web:
http://localhost:8080
Deployment del servizio web
Ora che Datastore funziona in locale, puoi eseguire nuovamente il deployment del servizio web su App Engine.
Esegui questo comando dalla directory radice del tuo progetto, dove si trova il file app.yaml
:
gcloud app deploy
Tutto il traffico viene instradato automaticamente alla nuova versione che hai implementato.
Per saperne di più sulla gestione delle versioni, consulta Gestire servizi e versioni.
Visualizzare il servizio
Per avviare rapidamente il browser e accedere al servizio web all'indirizzo
https://PROJECT_ID.REGION_ID.r.appspot.com
, esegui questo comando:
gcloud app browse
Passaggi successivi
Complimenti! Hai creato un servizio web che utilizza l'archiviazione dei dati Datastore e l'autenticazione Firebase per fornire agli utenti autenticati una pagina web personalizzata.
Ora puoi eseguire la pulizia arrestando, disattivando o disabilitando la fatturazione per il tuo progetto.