O Planilhas Google é uma solução de gerenciamento de planilhas que suporta a colaboração em tempo real e fornece ferramentas para visualizar, processar e comunicar dados.
Neste tutorial, mostramos como acionar Workflows Planilhas.
Objetivos
Com este tutorial, você vai:
- Use o Formulários Google, um aplicativo baseado na nuvem de questionário e pesquisa, para criar um formulário que pode enviar solicitações a criar instâncias de máquina virtual (VM).
- Vincule uma planilha do Planilhas Google ao formulário para coletar e salvar de resposta.
- Use o Google Apps Script, uma plataforma JavaScript baseada na nuvem que permite criar, ler, e editar produtos do Google Workspace para acionar um fluxo de trabalho sempre que uma solicitação seja aprovada por meio de uma atualização na planilha.
- Implante um fluxo de trabalho que chame Conector da API Compute Engine e cria uma instância de VM do Compute Engine com base nas especificações coletadas pelo formulário. Os conectores simplificam a chamada de outros Google Cloud APIs de terceiros. Saiba mais sobre os conectores do Workflows.
- Teste todo o processo e confirme se uma instância de VM foi criada conforme esperado.
Custos
Neste documento, você usará os seguintes componentes faturáveis do Google Cloud:
Para gerar uma estimativa de custo baseada na projeção de uso deste tutorial, use a calculadora de preços.
O tutorial também usa o Google Workspace. Serviços de nível empresarial não incluídos nos apps gratuitos do Google para o consumidor são faturáveis.
Antes de começar
É possível executar alguns dos comandos a seguir no console do Google Cloud ou usando a Google Cloud CLI no seu terminal ou no Cloud Shell.
As restrições de segurança definidas pela sua organização podem impedir que você conclua as etapas a seguir. Para informações sobre solução de problemas, consulte Desenvolver aplicativos em um ambiente restrito do Google Cloud.
Console
No Console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
Verifique se a cobrança está ativada para o seu projeto do Google Cloud. Saiba como verificar se o faturamento está ativado em um projeto.
Ative as APIs Compute Engine e Workflows.
Anote os valores Conta de serviço padrão do Compute Engine porque você vai associá-lo ao fluxo de trabalho neste tutorial para testar propósitos. Novos projetos que ativaram a API Compute Engine essa conta de serviço é criada com o IAM básico Editor e com o seguinte formato de e-mail:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
O número do projeto está na página Olá! do console do Google Cloud.
Para ambientes de produção, é altamente recomendável criar uma nova conta de serviço e concedendo a ele um ou mais papéis do IAM que contêm permissões mínimas necessárias e seguir o princípio do privilégio mínimo.
gcloud
No Console do Google Cloud, ative o Cloud Shell.
Na parte inferior do Console do Google Cloud, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.
Verifique se a cobrança está ativada para o seu projeto do Google Cloud. Saiba como verificar se o faturamento está ativado em um projeto.
Ative as APIs Compute Engine e Workflows.
gcloud services enable \ compute.googleapis.com \ workflows.googleapis.com
Anote os valores Conta de serviço padrão do Compute Engine porque você vai associá-lo ao fluxo de trabalho neste tutorial para testar propósitos. Novos projetos que ativaram a API Compute Engine essa conta de serviço é criada com o IAM básico Editor e com o seguinte formato de e-mail:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
É possível recuperar o número do projeto:
gcloud projects describe PROJECT_ID
Para ambientes de produção, é altamente recomendável criar uma nova conta de serviço e concedendo a ele um ou mais papéis do IAM que contêm permissões mínimas necessárias e seguir o princípio do privilégio mínimo.
Criar um formulário para solicitar instâncias de VM
Crie um formulário que possa ser usado para enviar uma solicitação de criação de instância de máquina virtual (VM) do Compute Engine. Por padrão, quando você criar um formulário pelo Formulários Google, ele será salvo Google Drive:
- Acesse forms.google.com.
- Clique em Em branco.
Um novo formulário será aberto.
- Crie um formulário com cinco seções obrigatórias. O formulário deve ser semelhante
para o seguinte:
Veja o exemplo de formulário
Nome da máquina Texto de resposta curta
Zona Menu suspenso:
- us-central1-a
- us-central1-b
- us-central1-c
- us-central1-f
Tipo Menu suspenso:
- e2-micro
- e2-small
- e2-medium
- e2-standard-2
- e2-standard-4
Tamanho do disco (GB) Texto de resposta curta
Sistema operacional Menu suspenso:
- debian-10
- centos-stream-9
- Cos-93-lts
- Cos-97-lts
- Ativar a coleta de e-mails para registrar os endereços de e-mail das pessoas que preenchem
no seu formulário:
- Clique em Configurações.
- Expanda a seção Responses (Respostas).
- Clique no botão Coletar endereços de e-mail.
Vincular uma planilha ao seu formulário
Depois de criar um formulário, vincule uma planilha a ele para salvar suas respostas ao formulário nessa planilha. A planilha foi salva em Drive.
- Abra seu formulário no Formulários.
- Clique em Respostas.
- Clique em Link para o Planilhas.
- Na caixa de diálogo Selecionar destino para as respostas, clique em Criar uma nova planilha.
Clique em Criar.
A planilha vinculada é aberta.
Na coluna H, adicione o título Aprovados?.
Coloque o cursor na primeira linha da coluna H e selecione Inserir > Caixa de seleção.
A planilha deve ser semelhante a esta:
Sempre que a planilha é atualizada com uma resposta, a caixa de seleção também aparece na linha dessa resposta.
Ampliar as Planilhas Google com o Apps Script
O Apps Script permite criar, ler e editar programaticamente Planilhas. A maioria dos scripts criados para o Planilhas pode para interagir com células, linhas e colunas em uma planilha. Para um sobre como usar o Apps Script com o Planilhas, consulte o Guia de início rápido de funções personalizadas.
Crie um projeto do Apps Script no app Planilhas:
- Abra sua planilha do Planilhas.
- Selecione Extensões > Apps Script.
- No editor de script, clique em Projeto sem título.
- Dê um nome ao projeto e clique em Renomear.
Seu script será vinculado à planilha. que dá ao script capacidades de alterar a interface do usuário ou responder quando a planilha for aberta.
Um projeto de script representa uma coleção de scripts do Apps Script. arquivos e recursos. Os arquivos de código em um projeto de script têm um
.gs
. .Você pode usar o Apps Script para escrever funções personalizadas que pode usar no Planilhas como uma função integrada. As funções personalizadas são usando JavaScript padrão. Crie uma função:
- Abra seu projeto do Apps Script.
- Clique em Editor .
- Um arquivo de script aparece como um arquivo de projeto chamado
Code.gs
. Para editar o arquivo: selecioná-la. Substitua qualquer código no editor de script pelo seguinte código, que mostra os dados da planilha e os transmite como entrada para um fluxo de trabalho execução:
Substitua
your-project-id
pelo ID do projeto do Google Cloud.Encontre o ID do projeto na página Boas-vindas do console do Google Cloud.
Clique em Salvar
.
Apps Script acionadores instaláveis que um projeto de script execute uma função especificada quando determinadas condições são atendidos, como quando uma planilha é aberta ou editada. Crie um gatilho:
- Abra seu projeto do Apps Script.
- Clique em Gatilhos .
- Clique em Adicionar gatilho.
- Na caixa de diálogo Adicionar gatilho para YOUR_PROJECT_NAME, configure o
gatilho:
- Na lista Escolher qual função executar, selecione handleEdit.
- Na lista Escolher qual implantação deve ser executada, selecione Cabeçalho.
- Na lista Selecionar origem do evento, selecione Da planilha.
- Na lista Selecionar tipo de evento, escolha Na edição.
- Na lista Configurações de notificação de falha, selecione Receber notificação diariamente.
- Clique em Salvar.
Se você receber uma solicitação para escolher uma Conta do Google, selecione o conta e clique em Permitir.
Isso permite que seu projeto do Apps Script visualize, edite criar e excluir planilhas do Planilhas; e para se conectar um serviço externo.
Um arquivo de manifesto de projeto do Apps Script é um arquivo JSON que especifica as informações básicas do projeto que O Apps Script precisa executar um script. Observe que o O editor do Apps Script oculta arquivos de manifesto por padrão para proteger o Apps Script configurações do projeto. Edite o arquivo de manifesto:
- Abra seu projeto do Apps Script.
- Clique em Configurações do projeto .
- Selecione a caixa de seleção Mostrar arquivo de manifesto "appsscript.json" no editor.
- Clique em Editor .
- O arquivo de manifesto aparece como um arquivo de projeto chamado
appsscript.json
. Para editar o arquivo e selecioná-lo. O campo
oauthScopes
especifica uma matriz de strings. Para definir escopos de autorização seu projeto usa, adicione uma matriz com os escopos que você quer compatibilidade. 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" ] }
Define os escopos explícitos como:
- Conectar a um serviço externo
- Consultar, editar, configurar e excluir seus dados do Google Cloud e conferir o endereço de e-mail da sua Conta do Google
- Ver, editar, criar e excluir todas as suas planilhas do Planilhas
Clique em Salvar
.
Implantar um fluxo de trabalho que crie uma instância de VM
Implantar um fluxo de trabalho que é acionado quando uma solicitação para criar uma instância de VM é aprovadas. O fluxo de trabalho chama o método Conector da API Compute Engine para criar uma instância de VM do Compute Engine com base nas especificações coletadas pelo formulário.
Console
No console do Google Cloud, acesse Fluxos de trabalho página:
Clique em
Criar.Digite um nome para o novo fluxo de trabalho:
create-vm-from-form
.Na lista Região, selecione us-central1 (Iowa).
Em Conta de serviço, selecione o padrão do Compute Engine conta de serviço (
PROJECT_NUMBER-compute@developer.gserviceaccount.com
).Clique em Next.
No editor de fluxo de trabalho, insira a seguinte definição para seu fluxo de trabalho:
Clique em Implantar.
gcloud
Crie um arquivo de código-fonte para seu fluxo de trabalho:
touch create-vm-from-form.yaml
Em um editor de texto, copie o fluxo de trabalho a seguir para o arquivo de código-fonte:
Implante o fluxo de trabalho digitando 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 número do projeto do Google Cloud. É possível recuperar o número do projeto:gcloud projects describe PROJECT_ID
Testar o fluxo de ponta a ponta
Para confirmar que tudo está funcionando como esperado, tente executar toda de desenvolvimento de software.
Envie o formulário para si mesmo e responda às perguntas adequadamente.
Verifique se as especificações usadas para criar uma instância de VM são válidas. Caso contrário, a execução do fluxo de trabalho vai falhar. Para mais informações, consulte Família de máquinas de uso geral do Compute Engine.
Para enviar sua resposta, clique em Enviar.
Abra seu formulário no Formulários.
Clique em Respostas.
Clique em Ver no app Planilhas.
Sua planilha vinculada é aberta.
Na linha da sua resposta, marque a caixa de seleção Aprovado?.
Abra seu projeto do Apps Script.
Clique em Execuções
.O gatilho deve ser executado e listado com um status de
Completed
.Confirme se o fluxo de trabalho
create-vm-from-form
foi concluído com sucesso:Console
No console do Google Cloud, abra a página Workflows.
Na página Fluxos de trabalho, clique no create-vm-from-form para acessar a página de detalhes.
Na página Detalhes do fluxo de trabalho, para recuperar os detalhes de um execução específica, clique no ID de execução apropriado.
O Estado de execução deve ser Concluído e, na coluna você verá as especificações da VM solicitadas.
gcloud
Recupere uma lista das tentativas de execução do fluxo de trabalho:
gcloud workflows executions list create-vm-from-form
O resultado será semelhante a este:
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 se uma nova VM foi criada conforme esperado:
Console
No console do Google Cloud, acesse a página Instâncias de VMs.
Sua instância de VM deve estar listada com um status indicando que em execução.
gcloud
Recupere uma lista agregada de todas as VMs em todas as zonas de um projeto:
gcloud compute instances list
Sua instância de VM deve estar listada com um status indicando que em execução.
Para mais informações sobre o comando
gcloud compute instances list
, consulte sua página de referência.
Limpar
Se você criou um novo projeto para este tutorial, exclua o projeto. Se você usou um projeto atual e quer mantê-lo sem as alterações incluídas neste tutorial, exclua os recursos criados para o tutorial.
Exclua o projeto
O jeito mais fácil de evitar cobranças é excluindo o projeto que você criou para o tutorial.
Para excluir o projeto:
- No Console do Google Cloud, acesse a página Gerenciar recursos.
- Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
- Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.