ID regione
REGION_ID
è un codice abbreviato assegnato da Google
in base alla regione selezionata al momento della creazione dell'app. Il codice non
corrispondono a un paese o a una provincia, anche se potrebbero essere visualizzati alcuni ID regione
in modo simile ai codici paese e provincia di uso comune. Per le app create dopo il giorno
Febbraio 2020, REGION_ID.r
è incluso in
URL di App Engine. Per le app esistenti create prima di questa data,
l'ID regione è facoltativo nell'URL.
Scopri di più sugli ID regione.
Utilizzare informazioni utente autenticate 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 in modo da visualizzare le ultime dieci richieste di tutti gli utenti. In questo passaggio, utilizzi le informazioni dell'utente autenticato per aggiornare il tuo web service 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 della guida, salta questa sezione. In caso contrario, completa una delle seguenti operazioni:
Inizia da Crea un'app Python 3 e completare tutti i passaggi per arrivare a questo.
Se disponi già di un progetto Google Cloud, puoi continuare scaricando una copia del servizio web e aggiungendo Firebase:
Scarica il repository delle applicazioni di esempio utilizzando Git:
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
In alternativa, puoi scaricare l'anteprima come file ZIP ed 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 progetto Google Cloud e al tuo servizio web.
Archiviare e recuperare dati specifici per l'utente
Puoi indicare che i dati sono connessi a un determinato utente utilizzando Firestore in modalità Datastore (Datastore) predecessori, che consentono di organizzare 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
:Ora ogni entità
visit
ha un antenato a cui è collegata. Questi antenati sono entità Datastore che rappresentano singoli utenti autenticati. La chiave di ogni predecessore include il tipoUser
User
e un ID personalizzato, ovvero l'indirizzo email dell'utente autenticato. Utilizza la chiave dell'antenato per eseguire query sul database solo per i periodi di tempo associati a un utente specifico.Aggiorna la chiamata al metodo
store_times
nel metodoroot
e spostala all'interno del condizionaleid_token
, in modo che venga eseguito solo se il server ha un utente autenticato.
Configurazione degli indici
Datastore esegue query basate su indici. Per le entità semplici,
Datastore genera automaticamente questi indici. Tuttavia, non può
generare automaticamente indici per entità più complesse, incluse quelle
con i loro 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
:
Crea un file
index.yaml
nella directory radice del progetto, per esempiobuilding-an-app
e aggiungi il seguente indice:Esegui il deployment degli indici
index.yaml
in Datastore eseguendo il comando seguente e seguendo i prompt:gcloud datastore indexes create index.yaml
Datastore può richiedere un po' di tempo per creare gli indici. La creazione degli indici prima di eseguire il deployment del servizio web in App Engine ti consente di eseguire test locali utilizzando questi indici e di evitare eccezioni che potrebbero verificarsi per le query che richiedono un indice ancora in fase di compilazione.
Per ulteriori informazioni sulla creazione di indici Datastore, consulta Configurazione degli indici Datastore.
Testare il servizio web
Testa il servizio web eseguendolo localmente in un ambiente virtuale:
Esegui questo comando principale del progetto per eseguire il tuo servizio web. Se non hai configurato un ambiente virtuale per i test locali, consulta Eseguire il 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 rieseguire il deployment in App Engine.
Esegui il comando seguente dalla directory principale del progetto,
dove si trova il file app.yaml
:
gcloud app deploy
Tutto il traffico viene instradato automaticamente alla nuova versione di cui è stato eseguito il deployment.
Per ulteriori informazioni sulla gestione delle versioni, consulta Gestire servizi e versioni.
Visualizza il servizio
Per avviare rapidamente il browser e accedere al servizio web all'indirizzo
https://PROJECT_ID.REGION_ID.r.appspot.com
, esegui il seguente comando:
gcloud app browse
Passaggi successivi
Complimenti! Hai creato un servizio web che utilizza lo spazio di archiviazione dei dati di 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.