Obiettivi
Scrivi, esegui il deployment e attiva una funzione Cloud Run HTTP che accede a Spanner.
Costi
Questo documento utilizza le funzioni Spanner e Cloud Run, che sono componenti fatturabili di Google Cloud.
Per informazioni sul costo dell'utilizzo di Spanner, consulta la pagina Prezzi di Spanner.
Per informazioni sul costo dell'utilizzo di Cloud Run functions, incluse le invocazioni gratuite, consulta Prezzi di Cloud Run functions.
Prima di iniziare
Questo documento presuppone che tu abbia un'istanza Spanner denominata
test-instance
e un database denominatoexample-db
che utilizza lo schema dell'applicazione musicale. Per istruzioni su come creare un'istanza e un database con lo schema dell'applicazione musicale, consulta la guida rapida all'utilizzo della console o i tutorial per iniziare a utilizzare Go, Java, Node.js o Python.Abilita le API Cloud Run e Cloud Build.
Installa e inizializza la gcloud CLI.
Se hai già installato gcloud CLI, aggiornalo eseguendo il seguente comando:
gcloud components update
Prepara l'ambiente di sviluppo:
Prepara l'applicazione
Clona il repository dell'app di esempio sulla tua macchina locale:
Node.js
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git
In alternativa, puoi scaricare l'esempio come file ZIP ed estrarlo.
Python
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
In alternativa, puoi scaricare l'esempio come file ZIP ed estrarlo.
Vai
git clone https://github.com/GoogleCloudPlatform/golang-samples.git
In alternativa, puoi scaricare l'esempio come file ZIP ed estrarlo.
Java
git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git
In alternativa, puoi scaricare l'esempio come file ZIP ed estrarlo.
Passa alla directory che contiene il codice di esempio delle funzioni Cloud Run per accedere a Spanner:
Node.js
cd nodejs-docs-samples/functions/spanner/
Python
cd python-docs-samples/functions/spanner/
Vai
cd golang-samples/functions/spanner/
Java
cd java-docs-samples/functions/spanner/
Dai un'occhiata al codice campione:
Node.js
Python
Vai
Java
La funzione invia una query SQL per recuperare tutti i dati
Albums
dal database. La funzione viene eseguita quando invii una richiesta HTTP all'endpoint della funzione.
esegui il deployment della funzione
Per il deployment della funzione con un trigger HTTP, esegui questo comando nella directory spanner
:
Node.js
gcloud functions deploy get \ --runtime nodejs22 --trigger-http
Utilizza il flag --runtime
per specificare l'ID runtime di una versione di Node.js supportata per eseguire la funzione.
Python
gcloud functions deploy spanner_read_data \ --runtime python312 --trigger-http
Utilizza il flag --runtime
per specificare l'ID runtime di una versione di Python supportata per eseguire la funzione.
Vai
gcloud functions deploy HelloSpanner \ --runtime go122 --trigger-http
Utilizza il flag --runtime
per specificare l'ID runtime di una versione Go supportata per eseguire la funzione.
Java
gcloud functions deploy java-spanner-function \ --entry-point functions.HelloSpanner \ --runtime java21 \ --memory 512MB --trigger-http
Utilizza il flag --runtime
per specificare l'ID runtime di una versione Java supportata per eseguire la funzione.
Il deployment della funzione potrebbe richiedere fino a due minuti.
Prendi nota del valore url
restituito al termine del deployment della funzione. Lo userai quando attiverai la funzione.
Puoi visualizzare le funzioni di cui è stato eseguito il deployment nella pagina Funzioni Cloud Run della console Google Cloud. In questa pagina puoi anche creare e modificare le funzioni, nonché visualizzarne dettagli e diagnostica.
Attiva la funzione
Invia una richiesta HTTP alla funzione:
Node.js
curl "https://REGION-PROJECT_ID.cloudfunctions.net/get"
Python
curl "https://REGION-PROJECT_ID.cloudfunctions.net/spanner_read_data"
Vai
curl "https://REGION-PROJECT_ID.cloudfunctions.net/HelloSpanner"
Java
curl "https://REGION-PROJECT_ID.cloudfunctions.net/java-spanner-function"
dove REGION
e PROJECT_ID
corrispondono ai valori visibili nel terminale al termine del deployment della funzione. Dovresti visualizzare un output che mostra i risultati della query SQL, supponendo che tu abbia completato un tutorial di inizio e abbia compilato il database:
SingerId: 2, AlbumId: 2, AlbumTitle: Forever Hold Your Peace
SingerId: 1, AlbumId: 2, AlbumTitle: Go, Go, Go
SingerId: 2, AlbumId: 1, AlbumTitle: Green
SingerId: 2, AlbumId: 3, AlbumTitle: Terrified
SingerId: 1, AlbumId: 1, AlbumTitle: Total Junk
Puoi anche visitare l'URL della funzione nel browser per visualizzare il risultato della query SQL.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi aggiuntivi per le risorse delle funzioni Spanner e Cloud Run utilizzate in questo documento, segui questi passaggi:
Elimina l'istanza:
gcloud spanner instances delete test-instance
Elimina la funzione di cui hai eseguito il deployment:
Node.js
gcloud functions delete get
Python
gcloud functions delete spanner_read_data
Vai
gcloud functions delete HelloSpanner
Java
gcloud functions delete java-spanner-function