示範如何使用 GCP Console 創建 Cloud Function。
無伺服器運算(Serverless Computing)是一種雲端運算模型,可以執行程式碼,而無需直接管理伺服器或基礎架構。Google Cloud Platform(GCP)中的無伺服器服務之一就是「Cloud Functions」,以下是它的主要功能和用途:
事件驅動的計算平台:Cloud Function是一個事件驅動的計算平台,可以讓您撰寫並執行程式碼片段,而不需要管理伺服器或基礎架構。
專注於編寫程式碼:Cloud Function會自動處理程式碼的部署、維護和擴展。
作為部分應用程式邏輯:自動化任務、處理數據、作為應用程式的一部分處理應用程式邏輯。
搭配其他GCP服務:例如Pub/Sub、Cloud Storage、Cloud Firestore等。
支援多種程式語言:例如Node.js、Python、Go等。
Google Cloud Platform 的虛擬機器可在多種場景下使用,以下是一些常見的使用情境:
自動化任務:您可以使用Cloud Function自動化許多日常任務,例如定期備份資料、處理郵件、擷取資料等。這些任務可以通過觸發器(trigger)自動啟動,並且可以搭配其他GCP服務(例如Pub/Sub、Cloud Storage、Cloud Firestore等)實現更高級的自動化流程。
數據處理:Cloud Function可以處理大量的數據並將其轉換成所需的格式。例如,您可以使用Cloud Function來轉換CSV檔案到JSON格式,或從訂閱的消息中提取特定的資訊。
應用程式邏輯:Cloud Function可以作為應用程式的一部分,處理應用程式邏輯。例如,當使用者上傳檔案到您的應用程式時,您可以使用Cloud Function來驗證和處理上傳的檔案。
在這個章節中,我們將深入探討如何使用GCP Console在Google Cloud Platform上創建Cloud Function。我們將依次進行以下步驟:
使用已經好的創建hello world程式碼 (python):
允許公開的http存取,提供測試:
創建cloud function並上傳程式碼進行測試:
首先創建main.py,並且複製對應的程式碼到main.py中,提供後續部署使用。等等創建函數時,可以先壓縮成zip檔案,等等使用google console時值直接上傳zip檔案。或是參考Github連結直接下載zip檔案。
main.py
from flask import make_response, request
def handler(request):
headers = {
'Content-Type': 'text/plain'
}
response = make_response('Hello, World!', 200, headers)
return response
登入GCP Console:首先,使用您的Google帳戶登入Google Cloud Platform(GCP)Console:https://console.cloud.google.com。
選擇或創建專案:在GCP Console左上角,點擊專案選單,然後選擇現有的專案或創建一個新專案。
創建Cloud Function函數:
在GCP Console左側的導覽窗格中,點選Cloud Function
選項。
創建Cloud Functions,在Cloud Functions頁面點擊建立函數
按鈕來開始創建一個新的Cloud Function。
設定Cloud Function函數的基本設定:
設定Cloud Function函數的進階設定:
設定Cloud Function函數的連線設定:
設定Cloud Function程式碼:
設定Cloud Function程式碼的存儲位置:
修復Cloud Function函數的服務帳號錯誤設定:
修改Cloud Function函數的存取權限設定:
修復Cloud Function函數的進入點Entrypoint錯誤設定:
創建修改完畢,並看到Cloud Function後,可以點選查看函數的詳細資料。
接下來可以嘗試觸發服務,點選觸發條件中的網址,就可以轉發到服務。例如下面的一長串網址,分別會是專案、地區與函數名稱組成的url。
GCP 無伺服器服務Cloud Function的主要功能和用途:Cloud Function 是 GCP 的無伺服器計算平台,專注於事件驅動的程式碼執行。主要用途包括自動化任務、數據處理和應用程式邏輯。它支援多種程式語言,如 Node.js、Python 和 Go。
GCP 無伺服器服務Cloud Function的使用情境:常見使用情境包括自動化任務,如備份資料、處理郵件和數據提取。數據處理部分,可以處理大量數據並轉換格式,例如將 CSV 轉換為 JSON。應用程式邏輯部分,Cloud Function 可以作為應用程式的一部分,處理特定應用程式邏輯。
GCP 無伺服器服務— 使用GCP Console創建Cloud Function:介紹如何在GCP Console上創建Cloud Function,包括指定名稱、區域、運算資源、配置程式碼、存儲位置與權限設定等等,最後示範觸發服務產生http 回傳 helloworld。
Terraform-from-zero-to-hero-10-Lab-GCP-Infrastucture-as-Code — https://github.com/qwedsazxc78/Terraform-from-zero-to-hero-10-Lab-GCP-Infrastucture-as-Code
Terraform-project-best-practice — https://github.com/qwedsazxc78/terraform-project-best-practice
歡迎訂閱我的udemy課程:Terraform 從零開始 - 10+實戰Lab打造GCP雲端自動化架構課程 - https://devops-with-alex.com/go/terraform