Fogli Google è una piattaforma per fogli di lavoro che supporta la collaborazione in tempo reale e fornisce strumenti per visualizzare, elaborare e comunicare i dati.
L'esempio seguente mostra come scrivere in Fogli da un flusso di lavoro. Il flusso di lavoro esegue query su un set di dati BigQuery e scrive i risultati in un foglio di lavoro di Fogli. Utilizza Connettori di Workflows per semplificare delle API Google Cloud.
Prima di iniziare
Prima di provare l'esempio in questo documento, assicurati di aver completato per eseguire le operazioni indicate di seguito.
Abilita Compute Engine, Google Drive, Fogli Google e API Workflows.
Console
gcloud
gcloud services enable \ compute.googleapis.com \ drive.googleapis.com \ sheets.googleapis.com \ workflows.googleapis.com
Prendi nota Account di servizio predefinito Compute Engine account di servizio così come lo assocerai al flusso di lavoro di esempio per i test scopi. I nuovi progetti che hanno abilitato l'API Compute Engine hanno con il ruolo IAM Editor di base, e con il seguente formato email:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
Puoi trovare il numero del tuo progetto nella Ti diamo il benvenuto della console Google Cloud oppure puoi recuperare il numero del tuo progetto:
gcloud projects describe PROJECT_ID
Per gli ambienti di produzione, consigliamo vivamente creazione di un nuovo account di servizio e la concessione di uno o più ruoli IAM contenenti autorizzazioni minime richieste e seguono il principio della privilegio minimo.
Crea una nuova cartella su Google Drive. Questa cartella viene utilizzata per archiviare in un foglio di lavoro. Impostando un'autorizzazione per la cartella condivisa, il flusso di lavoro possono scrivere nel foglio di lavoro.
- Accedi a drive.google.com.
- Fai clic su Nuovo > Nuova cartella.
- Inserisci un nome per la cartella.
- Fai clic su Crea.
- Fai clic con il pulsante destro del mouse sulla nuova cartella e seleziona Condividi.
Aggiungi l'indirizzo email per il servizio predefinito di Compute Engine .
L'account di servizio potrà accedere alla cartella. Quando associ l'account di servizio con il tuo flusso di lavoro, il flusso di lavoro avrà l'accesso a qualsiasi file nella cartella. Scopri di più sulla condivisione di file, cartelle e unità pubblicitarie.
Seleziona il ruolo Editor.
Deseleziona la casella di controllo Invia notifiche.
Fai clic su Condividi.
Creazione di un foglio di lavoro
Puoi creare un foglio di lavoro in uno dei seguenti modi:
- Creare un foglio di lavoro con Fogli Google
- Creare un foglio di lavoro utilizzando il connettore dell'API Fogli Google
Non c'è un'opzione per creare un foglio di lavoro direttamente in una cartella specificata utilizzando l'API Fogli Google. Tuttavia, esistono alternative, tra cui spostare il foglio di lavoro in un foglio di lavoro una cartella dopo averla creata, come negli esempi seguenti. Per maggiori informazioni le informazioni, vedi Utilizzare le cartelle di Google Drive.
Creare un foglio di lavoro con Fogli Google
Quando crei un foglio di lavoro con Fogli Google, viene salvato in Google Drive. Per impostazione predefinita, il foglio di lavoro viene salvato nella cartella principale Drive.
Vai a sheets.google.com.
Fai clic su Nuovo .
Il nuovo foglio di lavoro viene creato e aperto. Ogni foglio di lavoro ha un indirizzo
spreadsheetId
, contenenti lettere, numeri, trattini o trattini bassi. Puoi trovare ID foglio di lavoro in un URL di Fogli Google:https://docs.google.com/spreadsheets/d/spreadsheetId/edit#gid=0
Prendi nota di questo ID perché sarà necessario durante la creazione del flusso di lavoro.
Sposta il foglio di lavoro nella cartella Google Drive che hai creato in precedenza:
- Nel foglio di lavoro, seleziona File > Sposta.
- Vai alla cartella che hai creato.
- Fai clic su Sposta.
Creare un foglio di lavoro utilizzando il connettore dell'API Fogli Google
Puoi utilizzare lo Connettore API Fogli Google per creare un foglio di lavoro. Poiché Workflows utilizza l'account di servizio, come identità trigger, il foglio di lavoro viene creato nel account di servizio Cartella principale di Google Drive. Puoi quindi spostare il foglio di lavoro in un altro .
Nel flusso di lavoro seguente, il campo spreadsheetId
è
recuperate dal risultato di resp
:
YAML
JSON
Sostituisci FOLDER_ID
con l'ID della cartella in cui desideri
vuoi spostare il foglio di lavoro. Ogni cartella di Drive ha un
ID contenente lettere, numeri, trattini o trattini bassi. Puoi trovare
ID cartella nell'URL della cartella:
https://drive.google.com/drive/folders/FOLDER_ID/edit#gid=0
Per ulteriori informazioni, vedi Crea e compila le cartelle.
L'output del flusso di lavoro dovrebbe essere simile al seguente, in cui id
è spreadsheetId
:
"body": { "id": "spreadsheetId", "kind": "drive#file", "mimeType": "application/vnd.google-apps.spreadsheet", "name": "Untitled spreadsheet" }
esplora il set di dati pubblico BigQuery
BigQuery ospita numerosi set di dati pubblici disponibili al pubblico generale.
In BigQuery, puoi eseguire job di query interattive (on demand). Per Ad esempio, la seguente query restituisce i 100 nomi più popolari in una determinata e scrive l'output in una tabella temporanea. Questa è la query che durante l'esecuzione del flusso di lavoro.
Console
Nella console Google Cloud, vai alla pagina BigQuery.
Inserisci la seguente query SQL BigQuery nel Area di testo Editor di query:
SELECT name, gender, SUM(number) AS total FROM `bigquery-public-data.usa_names.usa_1910_2013` GROUP BY name, gender ORDER BY total DESC LIMIT 100
Fai clic su Esegui.
bq
Nel terminale, inserisci questo comando bq query
per eseguire un'operazione
query interattiva con la sintassi SQL standard:
bq query \ --use_legacy_sql=false \ 'SELECT name, gender, SUM(number) AS total FROM `bigquery-public-data.usa_names.usa_1910_2013` GROUP BY name, gender ORDER BY total DESC LIMIT 100'
esegui il deployment di un flusso di lavoro che scrive in Fogli
Esegui il deployment di un flusso di lavoro che esegue query su un set di dati BigQuery utilizzando Connettore API BigQuery che scrive i risultati in un foglio di lavoro di Fogli utilizzando Connettore dell'API Fogli Google.
Console
Nella console Google Cloud, vai a Workflows pagina:
Fai clic su
Crea.Inserisci un nome per il nuovo flusso di lavoro:
read-bigquery-write-sheets
.Nell'elenco Regione, seleziona us-central1 (Iowa).
In Account di servizio, seleziona l'impostazione predefinita di Compute Engine account di servizio (
PROJECT_NUMBER-compute@developer.gserviceaccount.com
).Fai clic su Avanti.
Nell'editor del flusso di lavoro, inserisci la seguente definizione per il tuo flusso di lavoro:
Sostituisci il valore del segnaposto
sheetId
con il tuospreadsheetId
.Fai clic su Esegui il deployment.
gcloud
Crea un file di codice sorgente per il tuo flusso di lavoro:
touch read-bigquery-write-sheets.yaml
In un editor di testo, copia il seguente flusso di lavoro nel file del codice sorgente:
Sostituisci il valore del segnaposto
sheetId
con il tuospreadsheetId
.Esegui il deployment del flusso di lavoro inserendo il comando seguente:
gcloud workflows deploy read-bigquery-write-sheets \ --source=read-bigquery-write-sheets.yaml \ --location=us-central1 \ --service-account=PROJECT_NUMBER-compute@developer.gserviceaccount.com
Sostituisci
PROJECT_NUMBER
con il tuo Google Cloud del progetto. Puoi trovare il numero del tuo progetto nella Ti diamo il benvenuto della console Google Cloud.
Esegui il flusso di lavoro e verifica i risultati
L'esecuzione di un flusso di lavoro esegue la definizione attuale del flusso di lavoro associata un flusso di lavoro di machine learning.
Esegui il flusso di lavoro:
Console
Nella console Google Cloud, vai alla pagina Flussi di lavoro:
Nella pagina Flussi di lavoro, seleziona la read-bigquery-write-sheets per accedere alla relativa pagina dei dettagli.
Nella pagina Dettagli flusso di lavoro, fai clic su play_arrow Esegui.
Fai di nuovo clic su Esegui.
Visualizza i risultati del flusso di lavoro nel riquadro Output.
L'output dovrebbe essere simile al seguente:
{ "spreadsheetId": "1pgkNY7mWICA6o6INUNLHGnmk0Tdioh0nUghZPOYPpZA", "updatedCells": 303, "updatedColumns": 3, "updatedRange": "Sheet1!A1:C101", "updatedRows": 101 }
gcloud
Apri un terminale.
Esegui il flusso di lavoro:
gcloud workflows run read-bigquery-write-sheets
I risultati dell'esecuzione dovrebbero essere simili ai seguenti:
Waiting for execution [4dcf737b-69d9-4081-b8d9-86d39ae86bd1] to complete...done. argument: 'null' duration: 3.131912897s endTime: '2023-01-25T14:59:46.818828242Z' name: projects/918619793306/locations/us-central1/workflows/read-bigquery-write-sheets/executions/4dcf737b-69d9-4081-b8d9-86d39ae86bd1 result: '{"spreadsheetId":"1pgkNY7mWICA6o6INUNLHGnmk0Tdioh0nUghZPOYPpZA","updatedCells":303,"updatedColumns":3,"updatedRange":"Sheet1!A1:C101","updatedRows":101}' startTime: '2023-01-25T14:59:43.686915345Z' state: SUCCEEDED
Verifica che il flusso di lavoro abbia scritto i risultati della query nel tuo in un foglio di lavoro. Ad esempio, il numero di colonne e righe del foglio di lavoro deve corrispondere ai valori
updatedColumns
eupdatedRows
.
Passaggi successivi
- Attiva un flusso di lavoro da Fogli Google.
- Mettere in pausa e riprendere un flusso di lavoro utilizzando i callback e Fogli Google.
- Esplora il Centro didattico Google Workspace.