Google 試算表是雲端試算表解決方案,支援即時協作,並提供可視化、處理及傳達資料的工具。
本教學課程將示範如何透過試算表觸發工作流程。
目標
在這個教學課程中,您將執行下列操作:
- 使用 Google 表單 (雲端問卷和問卷調查解決方案) 建立表單,以便提交建立虛擬機器 (VM) 執行個體的要求。
- 將 Google 試算表試算表連結至表單,即可收集及儲存所有回覆。
- 使用 Google Apps Script,這個雲端式 JavaScript 平台可讓您以程式輔助方式建立、讀取及編輯 Google Workspace 產品,並在透過試算表更新核准要求時觸發工作流程。
- 部署會呼叫 Compute Engine API 連接器的工作流程,並根據透過表單收集到的規格建立 Compute Engine VM 執行個體。連接器可簡化對其他 API 的呼叫。 Google Cloud進一步瞭解 Workflows 連接器。
- 測試整個程序,確認 VM 執行個體是否如預期建立。
費用
In this document, you use the following billable components of Google Cloud:
To generate a cost estimate based on your projected usage,
use the pricing calculator.
本教學課程也使用 Google Workspace。企業級服務不在 Google 免費版消費者應用程式中提供,因此需要付費。
事前準備
您可以在 Google Cloud 控制台中執行下列部分指令,也可以在終端機或 Cloud Shell 中使用 Google Cloud CLI。
貴機構定義的安全性限制,可能會導致您無法完成下列步驟。如需疑難排解資訊,請參閱「在受限的 Google Cloud 環境中開發應用程式」。
主控台
在 Google Cloud 主控台的專案選擇器頁面中,選取或建立 Google Cloud 專案。
請確認您已為 Google Cloud 專案啟用計費功能。瞭解如何檢查專案是否已啟用計費功能。
啟用 Compute Engine 和 Workflows API。
請記下 Compute Engine 預設服務帳戶,因為您會將其與本教學課程中的工作流程建立關聯,以便進行測試。啟用 Compute Engine API 的新專案會透過 IAM 基本編輯者角色建立這個服務帳戶,電子郵件格式如下:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
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.
請確認您已為 Google Cloud 專案啟用計費功能。瞭解如何檢查專案是否已啟用計費功能。
啟用 Compute Engine 和 Workflows API。
gcloud services enable \ compute.googleapis.com \ workflows.googleapis.com
請記下 Compute Engine 預設服務帳戶,因為您會將其與本教學課程中的工作流程建立關聯,以便進行測試。啟用 Compute Engine API 的新專案會透過 IAM 基本編輯者角色建立這個服務帳戶,電子郵件格式如下:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
您可以透過下列方式取得專案編號:
gcloud projects describe PROJECT_ID
建立表單以要求 VM 執行個體
建立可用來提交建立 Compute Engine 虛擬機器 (VM) 執行個體要求的表單。根據預設,透過 Google 表單建立的表單會儲存在 Google 雲端硬碟中。
- 前往 forms.google.com。
- 按一下「空白」圖示
。
系統隨即會開啟新表單。
- 建立包含五個必填欄位的表單。表單應如下所示:
查看範例表單
機器名稱 簡答文字
可用區 下拉式選單:
- us-central1-a
- us-central1-b
- us-central1-c
- us-central1-f
類型 下拉式選單:
- e2-micro
- e2-small
- e2-medium
- e2-standard-2
- e2-standard-4
磁碟大小 (GB) 簡答文字
作業系統 下拉式選單:
- debian-10
- centos-stream-9
- cos-93-lts
- cos-97-lts
- 啟用電子郵件收集功能,記錄表單填寫者的電子郵件地址:
- 按一下「設定」。
- 展開「Responses」部分。
- 按一下「收集電子郵件地址」切換鈕。
將試算表連結至表單
建立表單後,請將試算表連結至表單,以便將表單回覆儲存在該試算表中。系統會將產生的試算表儲存在 雲端硬碟。
- 在 Google 表單中開啟表單。
- 按一下 [回覆]。
- 按一下「連結至試算表」。
- 在「選取回應目標位置」對話方塊中,選取「建立新試算表」。
按一下 [建立]。
連結的試算表隨即開啟。
在 H 欄中新增「Approved?」標題。
將游標放在 H 欄的第一列,然後選取「插入」>「核取方塊」。
試算表應類似下圖:
每次在試算表中更新回覆時,該回覆的資料列也會顯示核取方塊。
使用 Apps Script 擴充 Google 試算表
您可以透過程式輔助方式,使用 Apps Script 建立、讀取及編輯試算表。大部分的試算表指令碼都會操控陣列,以便與試算表中的儲存格、列和欄互動。如要瞭解如何搭配試算表使用 Apps Script,請參閱自訂函式快速入門。
透過 Google 試算表建立 Apps Script 專案:
- 開啟 Google 試算表試算表。
- 依序選取「擴充功能」>「Apps Script」。
- 在指令碼編輯器中,按一下「未命名專案」。
- 為專案命名,然後按一下「重新命名」。
指令碼現在已繫結至試算表,因此可變更使用者介面,或在試算表開啟時回應。
指令碼專案代表 Apps Script 檔案和資源的集合。指令碼專案中的程式碼檔案會使用
.gs
副檔名。你可以使用 Apps Script 編寫自訂函式,並在 Google 試算表中使用這些函式,就像內建函式一樣。自訂函式是使用標準 JavaScript 建立。建立函式:
Apps Script 可安裝的觸發事件可讓指令碼專案在符合特定條件 (例如開啟或編輯試算表) 時執行指定函式。建立觸發條件:
- 開啟 Apps Script 專案。
- 按一下「觸發條件」圖示 。
- 按一下「新增觸發條件」。
- 在「Add Trigger for YOUR_PROJECT_NAME」對話方塊中,設定觸發條件:
- 在「Choose which function to run」(選擇要執行的函式) 清單中,選取「handleEdit」。
- 在「Choose which deployment should run」(選擇要執行的部署作業) 清單中,選取「Head」。
- 在「Select event source」清單中,選取「From spreadsheet」。
- 在「Select event type」(選取事件類型) 清單中,選取「On edit」(編輯時)。
- 在「失敗通知設定」清單中,選取「通知我每天一次」。
- 按一下 [儲存]。
如果系統提示您選擇 Google 帳戶,請選取適當的帳戶,然後按一下「允許」。
這樣一來,您的 Apps 指令碼專案就能查看、編輯、建立及刪除 Google 試算表試算表,以及連線至外部服務。
Apps Script 專案資訊清單檔案是指指定 Apps Script 執行指令碼時所需的基本專案資訊的 JSON 檔案。請注意,Apps Script 編輯器預設會隱藏資訊清單檔案,以保護您的 Apps Script 專案設定。編輯資訊清單檔案:
- 開啟 Apps Script 專案。
- 按一下「Project Settings」圖示 。
- 勾選「在編輯器中顯示『appsscript.json』資訊清單檔案」核取方塊。
- 按一下「編輯器」圖示 。
- 資訊清單檔案會顯示為名為
appsscript.json
的專案檔案。選取檔案即可編輯。 oauthScopes
欄位會指定字串陣列。如要設定專案使用的授權範圍,請新增要支援的範圍陣列。例如:{ "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" ] }
這會將明確的範圍設為:
- 連線至外部服務
- 查看、編輯、設定及刪除您的 Google Cloud 資料,以及查看您 Google 帳戶的電子郵件地址
- 查看、編輯、建立及刪除您的所有 Google 試算表檔案
按一下「儲存」圖示
。
部署可建立 VM 執行個體的工作流程
部署工作流程,在建立 VM 執行個體的要求獲得核准時觸發。工作流程會呼叫 Compute Engine API 連接器,根據透過表單收集到的規格建立 Compute Engine VM 執行個體。
控制台
前往 Google Cloud 控制台的「Workflows」頁面:
按一下「建立」。
輸入新工作流程的名稱:
create-vm-from-form
。在「Region」(區域) 清單中,選取「us-central1 (Iowa)」(us-central1 (愛荷華州))。
在「服務帳戶」中,選取 Compute Engine 預設服務帳戶 (
PROJECT_NUMBER-compute@developer.gserviceaccount.com
)。點按「Next」。
在工作流程編輯器中,輸入工作流程的定義:
按一下 [Deploy] (部署)。
gcloud
建立工作流程的原始碼檔案:
touch create-vm-from-form.yaml
在文字編輯器中,將下列工作流程複製到原始碼檔案:
輸入下列指令來部署工作流程:
gcloud workflows deploy create-vm-from-form \ --source=create-vm-from-form.yaml \ --location=us-central1 \ --service-account=PROJECT_NUMBER-compute@developer.gserviceaccount.com
將
PROJECT_NUMBER
替換為您的 Google Cloud專案編號。您可以透過下列方式取得專案編號:gcloud projects describe PROJECT_ID
測試端對端流程
如要確認一切運作正常,請嘗試執行整個程序。
將表單傳送給自己,並回答相關問題。
請確認用來建立 VM 執行個體的規格是否有效,否則工作流程執行作業會失敗。詳情請參閱 Compute Engine 通用機器系列。
如要提交回覆,請按一下「提交」。
在 Google 表單中開啟表單。
按一下 [回覆]。
按一下「在試算表中查看」。
系統會開啟已連結的試算表。
在回覆的資料列中,勾選「已核准?」核取方塊。
開啟 Apps Script 專案。
按一下「執行」圖示
。觸發事件應已執行,並列出狀態為
Completed
。確認
create-vm-from-form
工作流程已順利完成:主控台
前往 Google Cloud 控制台的「Workflows」頁面。
在「Workflows」頁面中,按一下「create-vm-from-form」工作流程,前往該工作流程的詳細資料頁面。
在「工作流程詳細資料」頁面中,按一下適當的執行 ID,即可擷取特定執行作業的詳細資料。
「Execution state」應為「Succeeded」,且在「Input」窗格中,您應該會看到所要求的 VM 規格。
gcloud
擷取工作流程執行嘗試清單:
gcloud workflows executions list create-vm-from-form
結果應類似於以下內容:
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
確認新 VM 已如預期建立:
主控台
前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。
VM 執行個體應會列於清單中,並顯示執行中的狀態。
gcloud
擷取專案中所有區域的所有 VM 匯總清單:
gcloud compute instances list
VM 執行個體應會列於清單中,並顯示執行中的狀態。
如要進一步瞭解
gcloud compute instances list
指令,請參閱其參考頁面。
清除所用資源
如果您是為了這個教學課程建立新專案,請刪除專案。如果您使用現有的專案,且希望保留該專案而不採用本教學課程中新增的變更,請刪除為教學課程建立的資源。
刪除專案
如要避免付費,最簡單的方法就是刪除您為了本教學課程所建立的專案。
如要刪除專案:
- 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.