top of page
作家相片Elite Cloud

AWS Lambda:如何撰寫與部署函數?

AWS Lambda 是 Amazon Web Services 提供的一項雲端服務,讓您可以在無需管理伺服器的情況下執行程式碼。這種雲端運算模型被稱為「無伺服器」(Serverless)架構。因此,您可以專注於您的程式碼及其功能,而 AWS 會負責處理底層的基礎架構,例如伺服器的維護與自動擴展。


AWS Lambda 簡介

AWS Lambda 根據事件來執行程式碼,例如使用者在網站上點擊按鈕或將檔案上傳到儲存服務。在這裡,您撰寫程式碼,然後將其上傳到 Lambda,並設定觸發條件告訴 Lambda 何時執行程式碼。此外,您只需為程式碼使用的運算時間付費,這讓您可以更有效地利用資源。


主要功能特色:


事件驅動執行:當特定事件發生時,程式碼會自動執行。

自動擴展:當有需求時,Lambda 可以平行執行多個程式,無需額外設定。

成本效益:您只需為實際運行的程式碼時間付費。

整合監控:AWS 提供工具來監控程式碼的執行情況。


AWS Lambda 的運作原理

在 Lambda 中,您需要遵循幾個步驟來建立函數並設置必要的配置。以下是詳細步驟:


1. 上傳您的程式碼


您可以使用支援的語言(如 Python、Node.js、Java、C# 或 Go)撰寫程式碼並上傳到 AWS Lambda。此外,您可以透過 AWS 管理控制台、AWS CLI 或整合開發環境(IDE)進行操作。


2. 為 AWS Lambda 設定觸發條件


觸發條件是觸發 Lambda 函數運行的事件。觸發條件可以來自多種 AWS 服務,例如:


S3:當檔案上傳時。

DynamoDB:當資料項目更新時。

API Gateway:當 HTTP 請求發送時。

SNS:當訊息發布時。



3. AWS Lambda 執行您的程式碼


當觸發事件發生時,Lambda 會自動執行您的程式碼。具體過程如下:


呼叫:事件資料會作為輸入傳遞給函數。

執行環境:AWS Lambda 會為您的函數建立執行環境,包含記憶體、CPU 和其他資源。

自動擴展:如果同時發生多個事件,Lambda 可以同時平行運行多個函數實例。



範例流程


1. 事件觸發:使用者將圖像上傳到 S3 儲存桶。

2. 呼叫:S3 事件觸發 Lambda 函數。

3. 執行環境:Lambda 啟動指定資源的執行環境。

4. 函數執行:您的函數處理圖像,例如調整大小。

5. 結果:調整後的圖像會被儲存回另一個 S3 儲存桶。

6. 日誌紀錄:函數的操作會記錄在 CloudWatch 中,這是一項監控和管理服務。

7. 自動擴展:如果同時上傳多個圖像,Lambda 會自動擴展來處理負載。


AWS Lambda Example Flow

如何建立與部署 AWS Lambda 函數


首先,登入您的 AWS 帳戶,並從 AWS 控制台搜尋「Lambda」或從首頁導航至 Lambda。


AWS Console

接著點擊左側的三點選單,選擇「函數」(Functions)。然後在新開啟的頁面中點擊「建立函數」(Create Function)。


AWS Lambda Dashboard

接著選擇「從頭開始撰寫」(Author from scratch),為函數命名並選擇適合您程式碼的執行環境(本例中選擇 Python)。


Creating AWS Lambda Function

然後,您可以為函數設置架構,目前保持預設的 x86_64。設定完成後,點擊「建立函數」(Create Function)。成功建立函數後,您會看到以下界面。


Creating AWS Lambda Function

接著向下捲動,您會看到程式碼來源畫面,在此您可以定義函數。


Creating AWS Lambda Function

在這裡,您可以撰寫程式碼,或從您的系統/S3 儲存桶上傳。預設情況下會有以下程式碼,如果未顯示,您可以從這裡貼上:


“`

import json

def lambda_handler(event, context):

   # TODO implement

return {

     ‘statusCode’: 200,

     ‘body’: json.dumps(‘Hello from Lambda!’)

}

“`


此函數在被調用時,會回傳一個包含 HTTP 狀態碼 200 和字串「Hello from Lambda!」的 JSON 格式回應。


完成程式碼後,點擊「測試」按鈕。


Testing AWS Lambda Function

然後選擇「建立新事件」(Create new event),為其命名並儲存事件。


Testing AWS Lambda Function

再次在程式碼來源畫面點擊「測試」(Test)。點擊後,系統會運行您的程式碼並顯示結果。


Testing AWS Lambda Function

完成後,您可以透過「操作 > 刪除函數」(Actions > Delete function) 來刪除該函數


Testing AWS Lambda Function

其他資源

0 次查看0 則留言

Comments


利用 Elite Cloud 釋放您的業務潛力 |提高效率和可擴展性。

​立即聯絡

+886 2-26575580

bottom of page