O Google Sheets é uma solução de folha de cálculo baseada na nuvem que suporta a colaboração em tempo real e oferece ferramentas para visualizar, processar e comunicar dados.
Este tutorial demonstra como acionar fluxos de trabalho a partir do Sheets.
Crie um formulário para pedir instâncias de VM
Crie um formulário que possa ser usado para enviar um pedido de criação de uma instância de máquina virtual (VM) do Compute Engine. Por predefinição, quando cria um formulário através do Google Forms, este é guardado no Google Drive.
- Aceda a forms.google.com.
- Clique em Em branco
.
É aberto um novo formulário.
- Criar um formulário com cinco secções obrigatórias. O formulário deve ter um aspeto semelhante
ao seguinte:
Veja o formulário de exemplo
Nome do computador Texto de resposta curta
Zona Menu pendente:
- us-central1-a
- us-central1-b
- us-central1-c
- us-central1-f
Tipo Menu pendente:
- e2-micro
- e2-small
- e2-medium
- e2-standard-2
- e2-standard-4
Tamanho do disco (GB) Texto de resposta curta
Sistema operativo Menu pendente:
- debian-10
- centos-stream-9
- cos-93-lts
- cos-97-lts
- Ative a recolha de emails para registar os endereços de email das pessoas que preenchem
o seu formulário:
- Clique em Definições.
- Expanda a secção Respostas.
- Clique no botão Recolher endereços de email.
Associe uma folha de cálculo ao formulário
Depois de criar um formulário, associe-lhe uma folha de cálculo para poder guardar as respostas do formulário nessa folha de cálculo. A folha de cálculo é guardada no Drive.
- Abra o formulário no Forms.
- Clique em Respostas.
- Clique em Associar ao Sheets.
- Na caixa de diálogo Selecionar o destino das respostas, selecione Criar uma nova folha de cálculo.
Clique em Criar.
A folha de cálculo associada é aberta.
Na coluna H, adicione um cabeçalho Approved?.
Coloque o cursor na primeira linha da coluna H e selecione Inserir > Caixa de verificação.
A folha de cálculo deve ter um aspeto semelhante ao seguinte:
Sempre que a folha é atualizada com uma resposta, a caixa de verificação também aparece na linha dessa resposta.
Expanda o Google Sheets com o Apps Script
O Apps Script permite-lhe criar, ler e editar folhas de cálculo de forma programática. A maioria dos scripts concebidos para o Sheets manipulam matrizes para interagir com as células, as linhas e as colunas numa folha de cálculo. Para uma introdução à utilização do Apps Script com o Sheets, consulte o Início rápido de funções personalizadas.
Crie um projeto do Apps Script a partir do Sheets:
- Abra a folha de cálculo do Sheets.
- Selecione Extensões > Apps Script.
- No editor de scripts, clique em Projeto sem título.
- Atribua um nome ao projeto e clique em Mudar o nome.
O script está agora associado à folha de cálculo, o que confere ao script a capacidade de alterar a interface do utilizador ou responder quando a folha de cálculo é aberta.
Um projeto de script representa uma coleção de ficheiros e recursos do Apps Script. Os ficheiros de código num projeto de script têm uma extensão.
.gs
Pode usar o Apps Script para escrever funções personalizadas que pode usar no Sheets tal como uma função incorporada. As funções personalizadas são criadas com JavaScript padrão. Crie uma função:
- Abra o seu projeto do Apps Script.
- Clique em Editor .
- Um ficheiro de script é apresentado como um ficheiro de projeto com o nome
Code.gs
. Para editar o ficheiro, selecione-o. Substitua qualquer código no editor de scripts pelo seguinte código que lê os dados na sua folha de cálculo e transmite-os como entrada para uma execução do fluxo de trabalho:
Substitua
your-project-id
pelo ID do seu Google Cloud projeto.Pode encontrar o ID do projeto na página Boas-vindas da Google Cloud consola.
Clique em Guardar
.
Os acionadores instaláveis do Apps Script permitem que um projeto de script execute uma função especificada quando determinadas condições são cumpridas, como quando uma folha de cálculo é aberta ou editada. Crie um acionador:
- Abra o seu projeto do Apps Script.
- Clique em Acionadores .
- Clique em Adicionar acionador.
- Na caixa de diálogo Adicionar acionador para YOUR_PROJECT_NAME, configure o acionador:
- Na lista Escolha a função a executar, selecione handleEdit.
- Na lista Escolha a implementação que deve ser executada, selecione Principal.
- Na lista Selecionar origem do evento, selecione Da folha de cálculo.
- Na lista Selecionar tipo de evento, selecione Na edição.
- Na lista Definições de notificação de falhas, selecione Notificar-me diariamente.
- Clique em Guardar.
Se receber um pedido para escolher uma Conta Google, selecione a conta adequada e, de seguida, clique em Permitir.
Isto permite que o seu projeto do Apps Script veja, edite, crie e elimine as suas folhas de cálculo do Sheets, bem como se ligue a um serviço externo.
Um ficheiro de manifesto de um projeto do Apps Script é um ficheiro JSON que especifica informações básicas do projeto que o Apps Script precisa para executar um script com êxito. Tenha em atenção que o editor do Apps Script oculta os ficheiros de manifesto por predefinição para proteger as definições do seu projeto do Apps Script. Edite o ficheiro de manifesto:
- Abra o seu projeto do Apps Script.
- Clique em Definições do projeto .
- Selecione a caixa de verificação Mostrar ficheiro de manifesto "appsscript.json" no editor.
- Clique em Editor .
- O ficheiro de manifesto aparece como um ficheiro de projeto com o nome
appsscript.json
. Para editar o ficheiro, selecione-o. O campo
oauthScopes
especifica uma matriz de strings. Para definir os âmbitos de autorização que o seu projeto usa, adicione uma matriz com os âmbitos que quer suportados. Por exemplo:{ "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" ] }
Isto define âmbitos explícitos para:
- Ligar a um serviço externo
- Ver, editar, configurar e eliminar os seus Google Cloud dados e ver o endereço de email da sua Conta Google
- Ver, editar, criar e eliminar todas as suas folhas de cálculo do Sheets
Clique em Guardar
.
Implemente um fluxo de trabalho que crie uma instância de VM
Implemente um fluxo de trabalho acionado quando um pedido de criação de uma instância de VM é aprovado. O fluxo de trabalho chama o conetor da API Compute Engine para criar uma instância de VM do Compute Engine com base nas especificações recolhidas através do formulário.
Consola
Na Google Cloud consola, aceda à página Fluxos de trabalho:
Clique em
Criar.Introduza um nome para o novo fluxo de trabalho:
create-vm-from-form
.Na lista Região, selecione us-central1 (Iowa).
Para a Conta de serviço, selecione a conta de serviço predefinida do Compute Engine (
PROJECT_NUMBER-compute@developer.gserviceaccount.com
).Clicar em Seguinte.
No editor de fluxos de trabalho, introduza a seguinte definição para o seu fluxo de trabalho:
Clique em Implementar.
gcloud
Crie um ficheiro de código-fonte para o seu fluxo de trabalho:
touch create-vm-from-form.yaml
Num editor de texto, copie o seguinte fluxo de trabalho para o ficheiro de código-fonte:
Implemente o fluxo de trabalho introduzindo o seguinte 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
Substitua
PROJECT_NUMBER
pelo seu Google Cloud número do projeto. Pode obter o número do projeto:gcloud projects describe PROJECT_ID
Teste o fluxo integral
Para confirmar que tudo está a funcionar como esperado, experimente executar todo o processo.
Envie o formulário para si e responda às perguntas de forma adequada.
Certifique-se de que as especificações que usa para criar uma instância de VM são válidas; caso contrário, a execução do fluxo de trabalho falha. Para mais informações, consulte o artigo Família de máquinas de uso geral do Compute Engine.
Para enviar a sua resposta, clique em Enviar.
Abra o formulário no Forms.
Clique em Respostas.
Clique em Ver no Sheets.
A folha de cálculo associada é aberta.
Na linha da sua resposta, selecione a caixa de verificação Aprovado?.
Abra o seu projeto do Apps Script.
Clique em Execuções
.O acionador deve ser executado e apresentado com o estado
Completed
.Confirme que o fluxo de trabalho
create-vm-from-form
foi concluído com êxito:Consola
Na Google Cloud consola, aceda à página Fluxos de trabalho.
Na página Fluxos de trabalho, clique no fluxo de trabalho create-vm-from-form para aceder à respetiva página de detalhes.
Na página Detalhes do fluxo de trabalho, para aceder aos detalhes de uma execução específica, clique no ID de execução adequado.
O Estado de execução deve ser Succeeded e, no painel Input, deve ver as especificações da VM que pediu.
gcloud
Recupere uma lista das tentativas de execução do seu fluxo de trabalho:
gcloud workflows executions list create-vm-from-form
O resultado deve ser semelhante ao seguinte:
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
Confirme que foi criada uma nova VM conforme esperado:
Consola
Na Google Cloud consola, aceda à página Instâncias de VM.
A sua instância de VM deve ser apresentada com um estado que indica que está em execução.
gcloud
Apresente uma lista agregada de todas as VMs em todas as zonas de um projeto:
gcloud compute instances list
A sua instância de VM deve ser apresentada com um estado que indica que está em execução.
Para mais informações sobre o comando
gcloud compute instances list
, consulte a respetiva página de referência.