O Planilhas Google é uma solução de planilha baseada em nuvem que oferece suporte à colaboração em tempo real e fornece ferramentas para visualizar, processar e comunicar dados.
Este tutorial demonstra como acionar fluxos de trabalho a partir de planilhas.
Objetivos
Neste tutorial, você irá:
- Use o Formulários Google , uma solução de questionário e pesquisa baseada na nuvem, para criar um formulário que possa enviar solicitações para criar instâncias de máquinas virtuais (VM).
- Vincule uma planilha do Planilhas Google ao formulário para coletar e salvar as respostas.
- Use o Google Apps Script , uma plataforma JavaScript baseada em nuvem que permite criar, ler e editar produtos do Google Workspace de maneira programática para acionar um fluxo de trabalho sempre que uma solicitação for aprovada por meio de uma atualização na planilha.
- Implante um fluxo de trabalho que chame o conector da API Compute Engine e crie uma instância de VM do Compute Engine com base nas especificações coletadas por meio do formulário. Os conectores simplificam a chamada de outros Google CloudAPIs. Saiba mais sobre conectores de fluxos de trabalho .
- 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 . Os serviços de nível empresarial que não estão incluídos nos aplicativos gratuitos para consumidores do Google são faturáveis.
Antes de começar
Você pode executar alguns dos seguintes comandos no Google Cloud console ou usando a CLI do Google Cloud no 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 obter informações sobre solução de problemas, consulte Desenvolver aplicativos em um ambiente restrito Google Cloud ambiente .
Console
No Google Cloud console, na página do seletor de projeto, selecione ou crie um Google Cloud projeto .
Certifique-se de que o faturamento esteja ativado para seu Google Cloud projeto. Saiba como verificar se o faturamento está ativado em um projeto .
Ative as APIs Compute Engine e Workflows.
Anote a conta de serviço padrão do Compute Engine, pois você a associará ao fluxo de trabalho neste tutorial para fins de teste. Novos projetos que ativaram a API Compute Engine têm esta conta de serviço criada com a função básica de editor do IAM e com o seguinte formato de e-mail:
PROJECT_NUMBER[email protected]
Você pode encontrar o número do seu projeto na página de boas-vindas do Google Cloud console.
Para ambientes de produção, é altamente recomendável criar uma nova conta de serviço e conceder a ela uma ou mais funções do IAM que contenham as permissões mínimas necessárias e sigam o princípio do menor privilégio .
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.
Certifique-se de que o faturamento esteja ativado para seu Google Cloud projeto. 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 a conta de serviço padrão do Compute Engine, pois você a associará ao fluxo de trabalho neste tutorial para fins de teste. Novos projetos que ativaram a API Compute Engine têm esta conta de serviço criada com a função básica de editor do IAM e com o seguinte formato de e-mail:
PROJECT_NUMBER[email protected]
Você pode recuperar o número do seu projeto:
gcloud projects describe PROJECT_ID
Para ambientes de produção, é altamente recomendável criar uma nova conta de serviço e conceder a ela uma ou mais funções do IAM que contenham as permissões mínimas necessárias e sigam o princípio do menor privilégio .
Crie um formulário para solicitar instâncias de VM
Crie um formulário que possa ser usado para enviar uma solicitação para criar uma instância de máquina virtual (VM) do Compute Engine. Por padrão, quando você cria um formulário por meio do Formulários Google, ele é salvo no Google Drive .
- Acesse formulários.google.com .
- Clique em Branco
.
Um novo formulário é aberto.
- Crie um formulário com cinco seções obrigatórias. O formulário deve ser semelhante ao seguinte:
Ver modelo de formulário
Nome da máquina Texto de resposta curta
Zona Suspenso:
- us-central1-a
- us-central1-b
- us-central1-c
- us-central1-f
Tipo Suspenso:
- e2-micro
- e2-pequeno
- e2-médio
- e2-padrão-2
- e2-padrão-4
Tamanho do disco (GB) Texto de resposta curta
Sistema operacional Suspenso:
- debian-10
- centos-stream-9
- cos-93-lts
- cos-97-lts
- Ative a coleta de e-mail para registrar os endereços de e-mail das pessoas que preenchem seu formulário:
- Clique em Configurações .
- Expanda a seção Respostas .
- Clique no botão Coletar endereços de e-mail .
Vincule uma planilha ao seu formulário
Depois de criar um formulário, vincule uma planilha a ele para poder salvar as respostas do formulário nessa planilha. A planilha é salva no Drive .
- Abra seu formulário em Formulários .
- Clique em Respostas .
- Clique em Link para planilhas .
- Na caixa de diálogo Selecionar destino para respostas , selecione Criar uma nova planilha .
Clique em Criar .
A planilha vinculada é aberta.
Na coluna H , adicione um Aprovado? cabeçalho.
Coloque o cursor na primeira linha da coluna H e selecione Inserir > Caixa de seleção .
A planilha deverá ser semelhante à seguinte:
Cada vez que a planilha for atualizada com uma resposta, a caixa de seleção também aparecerá na linha dessa resposta.
Estenda o Planilhas Google usando o Apps Script
O Apps Script permite criar, ler e editar planilhas de maneira programática. A maioria dos scripts projetados para o Planilhas manipula matrizes para interagir com células, linhas e colunas em uma planilha. Para obter uma introdução ao uso do Apps Script com Planilhas, consulte o início rápido da função personalizada .
Crie um projeto do Apps Script no 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 seu projeto e clique em Renomear .
Seu script agora está vinculado à sua planilha, o que dá ao script a capacidade de alterar a interface do usuário ou responder quando a planilha for aberta.
Um projeto de script representa uma coleção de arquivos e recursos do Apps Script. Os arquivos de código em um projeto de script possuem uma extensão
.gs
.Você pode usar o Apps Script para escrever funções personalizadas que podem ser usadas no Planilhas como uma função integrada. Funções personalizadas são criadas usando JavaScript padrão. Crie uma função:
- Abra seu projeto do Apps Script.
- Clique em do editor .
- Um arquivo de script aparece como um arquivo de projeto denominado
Code.gs
. Para editar o arquivo, selecione-o. Substitua qualquer código no editor de script pelo código a seguir, que lê os dados da sua planilha e os transmite como entrada para uma execução de fluxo de trabalho:
Substitua
your-project-id
pelo seu Google Cloud ID do projeto.Você pode encontrar o ID do seu projeto na página de boas-vindas do Google Cloud console.
Clique em Salvar
.
Os acionadores instaláveis do Apps Script permitem que um projeto de script execute uma função específica quando determinadas condições são atendidas, como quando uma planilha é aberta ou editada. Crie um gatilho:
- Abra seu projeto do Apps Script.
- Clique em Aciona .
- Clique em Adicionar gatilho .
- Na caixa de diálogo Adicionar acionador para YOUR_PROJECT_NAME , configure o acionador:
- Na lista Escolha qual função executar , selecione handleEdit .
- Na lista Escolha qual implantação deve ser executada , selecione Head .
- Na lista Selecionar origem do evento , selecione Da planilha .
- Na lista Selecionar tipo de evento , selecione Na edição .
- Na lista Configurações de notificação de falha , selecione Notificar-me diariamente .
- Clique em Salvar .
Se você receber uma solicitação para escolher uma Conta do Google, selecione a conta apropriada e clique em Permitir .
Isso permite que seu projeto do Apps Script veja, edite, crie e exclua suas planilhas do Planilhas; e para se conectar a um serviço externo.
Um arquivo de manifesto do projeto do Apps Script é um arquivo JSON que especifica informações básicas do projeto que o Apps Script precisa para executar um script com êxito. Observe que o editor do Apps Script oculta arquivos de manifesto por padrão para proteger as configurações do projeto do Apps Script. Edite o arquivo de manifesto:
- Abra seu projeto do Apps Script.
- Clique em do projeto .
- Marque a caixa de seleção Mostrar arquivo de manifesto "appsscript.json" no editor .
- Clique em do editor .
- O arquivo de manifesto aparece como um arquivo de projeto chamado
appsscript.json
. Para editar o arquivo, selecione-o. O campo
oauthScopes
especifica uma matriz de strings. Para definir os escopos de autorização que seu projeto usa, adicione uma matriz com os escopos que você deseja ter suporte. 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" ] }
Isso define escopos explícitos para:
- Conecte-se a um serviço externo
- Veja, edite, configure e exclua seu Google Cloud dados e veja o endereço de e-mail da sua Conta do Google
- Veja, edite, crie e exclua todas as suas planilhas do Planilhas
Clique em Salvar
.
Implantar um fluxo de trabalho que crie uma instância de VM
Implante um fluxo de trabalho que seja acionado quando uma solicitação para criar uma instância de VM for aprovada. O fluxo de trabalho chama o conector da API do Compute Engine para criar uma instância de VM do Compute Engine com base nas especificações coletadas por meio do formulário.
Console
No Google Cloud console, acesse a página Fluxos de trabalho :
Clique em
Criar .Insira 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 padrão do Compute Engine (
PROJECT_NUMBER [email protected]
).Clique em Avançar .
No editor de fluxo de trabalho, insira a seguinte definição para seu fluxo de trabalho:
Clique em Implementar .
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 seguinte fluxo de trabalho para o arquivo de código-fonte:
Implante o fluxo de trabalho inserindo o seguinte comando:
gcloud workflows deploy create-vm-from-form \ --source=create-vm-from-form.yaml \ --location=us-central1 \ --service-account=PROJECT_NUMBER[email protected]
Substitua
PROJECT_NUMBER
pelo seu Google Cloudnúmero do projeto. Você pode recuperar o número do seu projeto:gcloud projects describe PROJECT_ID
Teste o fluxo de ponta a ponta
Para confirmar se tudo está funcionando conforme o esperado, tente executar todo o processo.
Envie seu formulário para você mesmo e responda às perguntas adequadamente.
Certifique-se de que as especificações usadas para criar uma instância de VM sejam válidas; caso contrário, a execução do fluxo de trabalho 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 em Formulários .
Clique em Respostas .
Clique em Exibir no Planilhas .
Sua planilha vinculada é aberta.
Na linha da sua resposta, selecione Aprovado? caixa de seleção.
Abra seu projeto do Apps Script.
Clique em Execuções
.Seu gatilho deve ser executado e listado com o status
Completed
.Confirme se o fluxo de trabalho
create-vm-from-form
foi concluído com êxito:Console
No Google Cloud console, acesse a página Fluxos de trabalho .
Na página Fluxos de trabalho , clique no fluxo de trabalho create-vm-from-form para acessar sua página de detalhes.
Na página Detalhes do fluxo de trabalho , para recuperar os detalhes de uma execução específica, clique no ID de execução apropriado.
O estado de Execução deve ser Bem-sucedido e, no painel Entrada, você deverá ver as especificações da VM solicitadas.
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 se uma nova VM foi criada conforme esperado:
Console
No Google Cloud console, acesse a página de instâncias de VM .
Sua instância de VM deve ser listada com um status indicando que está 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 ser listada com um status indicando que está em execução.
Para obter 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 existente e deseja mantê-lo sem as alterações adicionadas neste tutorial, exclua os recursos criados para o tutorial .
Exclua o projeto
A maneira mais fácil de eliminar o faturamento é excluir o projeto que você criou para o tutorial.
Para excluir o projeto:
- 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.