Fogli Google è una soluzione di fogli di lavoro basata su cloud che supporta la collaborazione in tempo reale e fornisce strumenti per visualizzare, elaborare e comunicare i dati.
Questo tutorial mostra come attivare Workflows da Fogli.
Obiettivi
In questo tutorial, imparerai a:
- Utilizza Moduli Google, una soluzione basata sul cloud per questionari e sondaggi, per creare un modulo che possa inviare richieste per creare istanze di macchine virtuali (VM).
- Collega un foglio di lavoro Fogli Google al modulo per raccogliere e salvare le risposte.
- Utilizza Google Apps Script, una piattaforma JavaScript basata sul cloud che ti consente di creare, leggere e modificare in modo programmatico i prodotti Google Workspace, per attivare un flusso di lavoro ogni volta che una richiesta viene approvata tramite un aggiornamento del foglio di lavoro.
- Esegui il deployment di un flusso di lavoro che chiama il connettore API Compute Engine e crea un'istanza VM di Compute Engine in base alle specifiche raccolte tramite il modulo. I connettori semplificano la chiamata di altre API Google Cloud. Scopri di più sui connettori di Workflows.
- Testa l'intero processo e verifica che venga creata un'istanza VM come previsto.
Costi
In questo documento utilizzi i seguenti componenti fatturabili di Google Cloud:
Per generare una stima dei costi in base all'utilizzo previsto,
utilizza il calcolatore prezzi.
Il tutorial utilizza anche Google Workspace. I servizi di livello aziendale che non sono inclusi nelle app per utenti finali gratuite di Google sono fatturabili.
Prima di iniziare
Puoi eseguire alcuni dei seguenti comandi nella console Google Cloud o utilizzando Google Cloud CLI nel terminale o in Cloud Shell.
I vincoli di sicurezza definiti dalla tua organizzazione potrebbero impedirti di completare i passaggi seguenti. Per informazioni sulla risoluzione dei problemi, vedi Sviluppare applicazioni in un ambiente Google Cloud vincolato.
Console
Nella console Google Cloud , nella pagina di selezione del progetto, seleziona o crea un progetto Google Cloud .
Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud . Scopri come verificare se la fatturazione è abilitata per un progetto.
Abilita le API Compute Engine e Workflows.
Prendi nota dell'account di servizio predefinito di Compute Engine, in quanto lo assocerai al flusso di lavoro in questo tutorial a scopo di test. I nuovi progetti che hanno abilitato l'API Compute Engine hanno questoaccount di serviziot creato con il ruolo Editor di base IAM e con il seguente formato email:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
Puoi trovare il numero di progetto nella pagina Benvenuto della console Google Cloud .
Per gli ambienti di produzione, ti consigliamo vivamente di creare un nuovo service account e concedergli uno o più ruoli IAM che contengano le autorizzazioni minime richieste e di seguire il principio del privilegio minimo.
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud . Scopri come verificare se la fatturazione è abilitata per un progetto.
Abilita le API Compute Engine e Workflows.
gcloud services enable \ compute.googleapis.com \ workflows.googleapis.com
Prendi nota dell'account di servizio predefinito di Compute Engine, in quanto lo assocerai al flusso di lavoro in questo tutorial a scopo di test. I nuovi progetti che hanno abilitato l'API Compute Engine hanno questoaccount di serviziot creato con il ruolo Editor di base IAM e con il seguente formato email:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
Puoi recuperare il numero di progetto:
gcloud projects describe PROJECT_ID
Per gli ambienti di produzione, ti consigliamo vivamente di creare un nuovo service account e concedergli uno o più ruoli IAM che contengano le autorizzazioni minime richieste e di seguire il principio del privilegio minimo.
Crea un modulo per richiedere istanze VM
Crea un modulo che può essere utilizzato per inviare una richiesta di creazione di un'istanza di macchina virtuale (VM) Compute Engine. Per impostazione predefinita, quando crei un modulo tramite Moduli Google, questo viene salvato su Google Drive.
- Vai a forms.google.com.
- Fai clic su Vuoto
.
Si apre un nuovo modulo.
- Crea un modulo con cinque sezioni obbligatorie. Il modulo dovrebbe avere un aspetto simile
a quello riportato di seguito:
Visualizza modulo di esempio
Nome macchina Testo risposta breve
Zona Elenco a discesa:
- us-central1-a
- us-central1-b
- us-central1-c
- us-central1-f
Tipo Elenco a discesa:
- e2-micro
- e2-small
- e2-medium
- e2-standard-2
- e2-standard-4
Dimensioni disco (GB) Testo risposta breve
Sistema operativo Elenco a discesa:
- debian-10
- centos-stream-9
- cos-93-lts
- cos-97-lts
- Attiva la raccolta degli indirizzi email per registrare gli indirizzi email delle persone che compilano
il tuo modulo:
- Fai clic su Impostazioni.
- Espandi la sezione Risposte.
- Fai clic sul pulsante di attivazione/disattivazione Raccogli indirizzi email.
Collegare un foglio di lavoro al modulo
Dopo aver creato un modulo, collegalo a un foglio di lavoro in modo da poter salvare le risposte al modulo in quel foglio di lavoro. Il foglio di lavoro viene salvato su Drive.
- Apri il modulo in Moduli.
- Fai clic su Risposte.
- Fai clic su Collega a Fogli.
- Nella finestra di dialogo Seleziona destinazione per le risposte, seleziona Crea un nuovo foglio di lavoro.
Fai clic su Crea.
Si apre il foglio di lavoro collegato.
Nella colonna H, aggiungi l'intestazione Approvato?.
Posiziona il cursore nella prima riga della colonna H e seleziona Inserisci > Casella di controllo.
Il foglio di lavoro dovrebbe avere un aspetto simile al seguente:
Ogni volta che il foglio viene aggiornato con una risposta, la casella di controllo viene visualizzata anche nella riga relativa alla risposta.
Estendere Fogli Google utilizzando Apps Script
Apps Script consente di creare, leggere e modificare fogli in modo programmatico. La maggior parte degli script progettati per Fogli manipolano gli array per interagire con le celle, le righe e le colonne di un foglio di lavoro. Per un'introduzione all'utilizzo di Apps Script con Fogli, consulta la guida rapida alle funzioni personalizzate.
Creare un progetto Apps Script da Fogli:
- Apri il foglio di lavoro Fogli.
- Seleziona Estensioni > Apps Script.
- Nell'editor di script, fai clic su Progetto senza titolo.
- Assegna un nome al progetto e fai clic su Rinomina.
Lo script è ora associato al foglio di lavoro, il che gli consente di modificare l'interfaccia utente o di rispondere quando il foglio di lavoro viene aperto.
Un progetto script rappresenta una raccolta di file e risorse Apps Script. I file di codice in un progetto script hanno un'estensione
.gs
.Puoi utilizzare Apps Script per scrivere funzioni personalizzate che puoi utilizzare in Fogli proprio come una funzione integrata. Le funzioni personalizzate vengono create utilizzando JavaScript standard. Crea una funzione:
- Apri il progetto Apps Script.
- Fai clic su Editor .
- Un file di script viene visualizzato come file di progetto denominato
Code.gs
. Per modificare il file, selezionalo. Sostituisci qualsiasi codice nell'editor di script con il seguente codice che legge i dati nel foglio di lavoro e li trasmette come input a un'esecuzione del flusso di lavoro:
Sostituisci
your-project-id
con l'ID del tuo progetto Google Cloud .Puoi trovare l'ID progetto nella pagina Benvenuto della console Google Cloud .
Fai clic su Salva
.
Gli attivatori installabili di Apps Script consentono a un progetto di script di eseguire una funzione specificata quando vengono soddisfatte determinate condizioni, ad esempio quando un foglio di lavoro viene aperto o modificato. Crea un trigger:
- Apri il progetto Apps Script.
- Fai clic su Attivatori .
- Fai clic su Aggiungi trigger.
- Nella finestra di dialogo Aggiungi trigger per YOUR_PROJECT_NAME, configura il trigger:
- Nell'elenco Scegli la funzione da eseguire, seleziona handleEdit.
- Nell'elenco Scegli quale deployment deve essere eseguito, seleziona Head.
- Nell'elenco Seleziona origine evento, seleziona Da foglio di lavoro.
- Nell'elenco Seleziona il tipo di evento, seleziona In caso di modifica.
- Nell'elenco Impostazioni di notifica degli errori, seleziona Inviami una notifica giornaliera.
- Fai clic su Salva.
Se ti viene chiesto di scegliere un Account Google, seleziona l'account appropriato e poi fai clic su Consenti.
In questo modo, il tuo progetto Apps Script può visualizzare, modificare, creare ed eliminare i tuoi fogli Google e connettersi a un servizio esterno.
Un file manifest di un progetto Apps Script è un file JSON che specifica le informazioni di base del progetto necessarie ad Apps Script per eseguire correttamente uno script. Tieni presente che l'editor Apps Script nasconde i file manifest per impostazione predefinita per proteggere le impostazioni del progetto Apps Script. Modifica il file manifest:
- Apri il progetto Apps Script.
- Fai clic su Impostazioni progetto .
- Seleziona la casella di controllo Mostra il file manifest "appsscript.json" nell'editor.
- Fai clic su Editor .
- Il file manifest viene visualizzato come file di progetto denominato
appsscript.json
. Per modificare il file, selezionalo. Il campo
oauthScopes
specifica un array di stringhe. Per impostare gli ambiti di autorizzazione utilizzati dal progetto, aggiungi un array con gli ambiti che vuoi supportare. Ad esempio:{ "timeZone": "America/Toronto", "dependencies": { }, "exceptionLogging": "STACKDRIVER", "runtimeVersion": "V8", "oauthScopes": [ "https://www.googleapis.com/auth/script.external_request", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/spreadsheets" ] }
In questo modo vengono impostati ambiti espliciti per:
- Connettersi a un servizio esterno
- Visualizzare, modificare, configurare ed eliminare i tuoi dati di Google Cloud e vedere l'indirizzo email del tuo Account Google
- Visualizzare, modificare, creare ed eliminare tutti i tuoi fogli di lavoro
Fai clic su Salva
.
Esegui il deployment di un flusso di lavoro che crea un'istanza VM
Esegui il deployment di un flusso di lavoro attivato quando una richiesta di creazione di un'istanza VM viene approvata. Il flusso di lavoro chiama il connettore dell'API Compute Engine per creare un'istanza VM di Compute Engine in base alle specifiche raccolte tramite il modulo.
Console
Nella console Google Cloud , vai alla pagina Workflows:
Fai clic su
Crea.Inserisci un nome per il nuovo flusso di lavoro:
create-vm-from-form
.Nell'elenco Regione, seleziona us-central1 (Iowa).
Per Service account, seleziona il account di servizio predefinito di Compute Engine (
PROJECT_NUMBER-compute@developer.gserviceaccount.com
).Fai clic su Avanti.
Nell'editor del workflow, inserisci la seguente definizione per il workflow:
Fai clic su Esegui il deployment.
gcloud
Crea un file di codice sorgente per il workflow:
touch create-vm-from-form.yaml
In un editor di testo, copia il seguente flusso di lavoro nel file del codice sorgente:
Esegui il deployment del flusso di lavoro inserendo questo comando:
gcloud workflows deploy create-vm-from-form \ --source=create-vm-from-form.yaml \ --location=us-central1 \ --service-account=PROJECT_NUMBER-compute@developer.gserviceaccount.com
Sostituisci
PROJECT_NUMBER
con il numero del tuo progetto Google Cloud. Puoi recuperare il numero di progetto:gcloud projects describe PROJECT_ID
Testare il flusso end-to-end
Per verificare che tutto funzioni come previsto, prova a eseguire l'intero processo.
Invia il modulo a te stesso e rispondi alle domande in modo appropriato.
Assicurati che le specifiche utilizzate per creare un'istanza VM siano valide, altrimenti l'esecuzione del flusso di lavoro non andrà a buon fine. Per saperne di più, consulta la pagina Famiglia di macchine per uso generico di Compute Engine.
Per inviare la risposta, fai clic su Invia.
Apri il modulo in Moduli.
Fai clic su Risposte.
Fai clic su Visualizza in Fogli.
Si apre il foglio di lavoro collegato.
Nella riga relativa alla tua risposta, seleziona la casella di controllo Approvata?.
Apri il progetto Apps Script.
Fai clic su Esecuzioni
.Il trigger deve essere eseguito ed elencato con lo stato
Completed
.Verifica che il flusso di lavoro
create-vm-from-form
sia stato completato correttamente:Console
Nella Google Cloud console, vai alla pagina Workflows.
Nella pagina Flussi di lavoro, fai clic sul flusso di lavoro create-vm-from-form per visualizzare la relativa pagina dei dettagli.
Nella pagina Dettagli del flusso di lavoro, per recuperare i dettagli di una determinata esecuzione, fai clic sull'ID esecuzione appropriato.
Lo Stato di esecuzione deve essere Riuscito e nel riquadro Input dovresti vedere le specifiche della VM che hai richiesto.
gcloud
Recupera un elenco dei tentativi di esecuzione del flusso di lavoro:
gcloud workflows executions list create-vm-from-form
Il risultato dovrebbe essere simile al seguente:
NAME: projects/918619793306/locations/us-central1/workflows/create-vm-from-form/executions/d8947ecb-9ccb-4ea1-ba10-e5c10414e3be STATE: SUCCEEDED START_TIME: 2023-01-24T15:07:40.404741791Z END_TIME: 2023-01-24T15:07:55.649373625Z
Verifica che sia stata creata una nuova VM come previsto:
Console
Nella console Google Cloud , vai alla pagina Istanze VM.
L'istanza VM dovrebbe essere elencata con uno stato che indica che è in esecuzione.
gcloud
Recupera un elenco aggregato di tutte le VM in tutte le zone di un progetto:
gcloud compute instances list
L'istanza VM dovrebbe essere elencata con uno stato che indica che è in esecuzione.
Per saperne di più sul comando
gcloud compute instances list
, consulta la relativa pagina di riferimento.
Esegui la pulizia
Se hai creato un nuovo progetto per questo tutorial, elimina il progetto. Se hai utilizzato un progetto esistente e vuoi conservarlo senza le modifiche aggiunte in questo tutorial, elimina le risorse create per il tutorial.
Elimina il progetto
Il modo più semplice per eliminare la fatturazione è eliminare il progetto creato per il tutorial.
Per eliminare il progetto:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.