Obiettivi
scrivi, esegui il deployment e attiva funzione Cloud Functions Functions HTTP che accede Spanner.
Costi
Questo documento utilizza le funzioni di 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 delle funzioni di Cloud Run, incluse le funzionalità di Cloud Functions, consulta i 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 la musica applicazione schema. Per istruzioni sulla creazione di un'istanza e un database con l'applicazione Music schema, consulta la Guida rapida all'utilizzo della console oppure i tutorial per iniziare a usare Go, Java, Node.js oppure Python.Abilitare le funzioni Cloud Run e le API Cloud Build.
Installa e inizializza 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 nella tua macchina locale:
Node.js
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git
In alternativa, puoi scarica l'esempio come file ZIP ed estrarlo.
Python
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
In alternativa, puoi scarica l'esempio come file ZIP ed estrarlo.
Vai
git clone https://github.com/GoogleCloudPlatform/golang-samples.git
In alternativa, puoi scarica 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 di esempio:
Node.js
Python
Vai
Java
La funzione invia una query SQL per recuperare tutti i dati
Albums
dal tuo per configurare un database. La funzione viene eseguita quando effettui una richiesta HTTP all'endpoint della funzione.
esegui il deployment della funzione
Per eseguire il deployment della funzione con un trigger HTTP, esegui questo comando
nella directory spanner
:
Node.js
gcloud functions deploy nodejs-spanner-function \ --gen2 \ --runtime=nodejs20 \ --region=REGION
\ --source=. \ --entry-point=spannerQuickstart
--trigger-http
Utilizza la --runtime
per specificare l'ID runtime di un
versione Node.js supportata per l'esecuzione
la tua funzione.
Python
gcloud functions deploy python-spanner-function \ --gen2 \ --runtime=python312 \ --region=REGION
\ --source=. \ --entry-point=spanner_read_data
--trigger-http
Utilizza la --runtime
per specificare l'ID runtime di un
versione Python supportata per l'esecuzione
la tua funzione.
Vai
gcloud functions deploy go-spanner-function \ --gen2 \ --runtime=go121 \ --region=REGION
\ --source=. \ --entry-point=HelloSpanner
--trigger-http
Utilizza la --runtime
per specificare l'ID runtime di un
versione Go supportata per l'esecuzione
la tua funzione.
Java
gcloud functions deploy java-spanner-function \ --gen2 \ --runtime=java17 \ --region=REGION
\ --source=. \ --entry-point=functions.HelloSpanner \ --memory=512MB
--trigger-http
Utilizza la --runtime
per specificare l'ID runtime di un
versione Java supportata per l'esecuzione
la tua funzione.
Sostituisci REGION con il nome della regione Google Cloud in cui vuoi eseguire il deployment della funzione
(ad es. us-west1
).
Il deployment delle funzioni potrebbe richiedere fino a due minuti.
Osserva il valore url
restituito al termine del deployment della funzione. Potrai
da utilizzare quando attivi la funzione.
Puoi visualizzare le funzioni di cui hai eseguito il deployment nella nella pagina Funzioni di Cloud Run nella console Google Cloud. Puoi anche creare e modificare le funzioni in quella pagina e ottenere i dettagli e la diagnostica delle tue funzioni.
Attiva la funzione
Effettua una richiesta HTTP alla tua funzione:
curl URL
Sostituisci URL con il valore dell'URL restituito quando la funzione del deployment.
Dovresti vedere un output che mostra i risultati Query SQL, supponendo che tu abbia seguito un corso introduttivo tutorial e ha 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 Risorse delle funzioni Spanner e Cloud Run utilizzate in questo documento:
Elimina l'istanza:
gcloud spanner instances delete test-instance
Elimina la funzione di cui hai eseguito il deployment:
Node.js
gcloud functions delete nodejs-spanner-function
Python
gcloud functions delete python-spanner-function
Vai
gcloud functions delete go-spanner-function
Java
gcloud functions delete java-spanner-function