本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
若要開始使用 Lambda,請使用 Lambda 主控台來建立函數。您可以在幾分鐘內建立和部署函數,並在主控台中加以測試。
進行教學課程時,您會學到一些基本 Lambda 概念,例如如何使用 Lambda「事件物件」,將引數傳遞給函數。您也會學到如何從函數傳回日誌輸出,以及如何在 Amazon CloudWatch Logs 中查看函數的調用日誌。
為了簡化,您可以使用 Python 或 Node.js 執行期建立函數。您可以使用這些轉譯語言,直接在主控台的內建程式碼編輯器中編輯函數程式碼。使用 Java 和 C# 等編譯語言,您必須在本機建置機器上建立部署套件,並將其上傳至 Lambda。若要了解如何使用其他執行期,將函數部署至 Lambda,請參閱其他資源和後續步驟一節中的連結。
提示
若要了解如何建置無伺服器解決方案,請參閱無伺服器開發人員指南。
先決條件
如果您沒有 AWS 帳戶,請完成下列步驟來建立一個 。
註冊 AWS 帳戶
請遵循線上指示進行。
部分註冊程序需接收來電,並在電話鍵盤輸入驗證碼。
當您註冊 時 AWS 帳戶,AWS 帳戶根使用者會建立 。根使用者有權存取該帳戶中的所有 AWS 服務 和資源。作為安全最佳實務,請將管理存取權指派給使用者,並且僅使用根使用者來執行需要根使用者存取權的任務。
AWS 會在註冊程序完成後傳送確認電子郵件給您。您可以隨時登錄 https://aws.amazon.com/
註冊 後 AWS 帳戶,請保護 AWS 帳戶根使用者、啟用 AWS IAM Identity Center和建立管理使用者,以免將根使用者用於日常任務。
保護您的 AWS 帳戶根使用者
-
選擇根使用者並輸入 AWS 帳戶 您的電子郵件地址,以帳戶擁有者AWS Management Console
身分登入 。在下一頁中,輸入您的密碼。 如需使用根使用者登入的說明,請參閱 AWS 登入 使用者指南中的以根使用者身分登入。
-
若要在您的根使用者帳戶上啟用多重要素驗證 (MFA)。
如需說明,請參閱《IAM 使用者指南》中的為您的 AWS 帳戶 根使用者 (主控台) 啟用虛擬 MFA 裝置。
建立具有管理存取權的使用者
-
啟用 IAM Identity Center。
如需指示,請參閱《AWS IAM Identity Center 使用者指南》中的啟用 AWS IAM Identity Center。
-
在 IAM Identity Center 中,將管理存取權授予使用者。
如需使用 IAM Identity Center 目錄 做為身分來源的教學課程,請參閱AWS IAM Identity Center 《 使用者指南》中的使用預設值設定使用者存取權 IAM Identity Center 目錄。
以具有管理存取權的使用者身分登入
-
若要使用您的 IAM Identity Center 使用者簽署,請使用建立 IAM Identity Center 使用者時傳送至您電子郵件地址的簽署 URL。
如需使用 IAM Identity Center 使用者登入的說明,請參閱AWS 登入 《 使用者指南》中的登入 AWS 存取入口網站。
指派存取權給其他使用者
使用主控台建立一個 Lambda 函數
在此範例中,您的函數會使用 JSON 物件,其中包含兩個標示 "length"
和 "width"
的整數值。函數會將這些值相乘以計算區域,並以 JSON 字串傳回。
您的函數也會列印計算出的區域,以及其 CloudWatch 日誌群組的名稱。稍後在本教學課程中,您會學到如何使用 CloudWatch Logs 查看函數調用的記錄。
若要使用主控台建立 Hello world Lambda 函數
開啟 Lambda 主控台中的 函數頁面
。 -
選擇建立函數。
-
選取從頭開始撰寫。
-
在基本資訊窗格中,為函數名稱輸入
。myLambdaFunction
-
針對執行時期,選擇 Node.js 22.x 或 Python 3.13。
-
將架構設定為 x86_64,然後選擇建立函數。
除了可傳回 Hello from Lambda!
訊息的簡單函數之外,Lambda 還可為函數建立執行角色。執行角色是 AWS Identity and Access Management (IAM) 角色,授予 Lambda 函數存取 AWS 服務 和資源的許可。對於您的函數,Lambda 建立的角色會授予寫入 CloudWatch Logs 的基本許可。
使用主控台的內建程式碼編輯器,將 Lambda 建立的 Hello world 程式碼取代為您自己的函數程式碼。
若要在主控台中修改程式碼
-
選擇 程式碼 標籤。
在主控台的內建程式碼編輯器中,您應該會看到 Lambda 建立的函數程式碼。如果您在程式碼編輯器中沒看到 index.mjs 標籤,請在檔案總管中選取 index.mjs,如下圖所示。
-
將以下程式碼貼到 index.mjs 標籤中,替換 Lambda 建立的程式碼。
export const handler = async (event, context) => { const length = event.length; const width = event.width; let area = calculateArea(length, width); console.log(`The area is ${area}`); console.log('CloudWatch log group: ', context.logGroupName); let data = { "area": area, }; return JSON.stringify(data); function calculateArea(length, width) { return length * width; } };
-
在 DEPLOY 區段中,選擇部署以更新函數的程式碼:
了解函數程式碼
在進行下一步之前,讓我們花一點時間看看函數程式碼,並了解一些重要 Lambda 概念。
-
Lambda 處理常式:
您的 Lambda 函數包含 Node.js 函數
handler
。以 Node.js 編寫的 Lambda 函數可以包含多個 Node.js 函數,但「handler」函數始終是程式碼的進入點。當有人調用您的函數時,Lambda 會執行此方法。使用主控台建立 Hello world 函數時,Lambda 會自動將函數的處理常式方法名稱設定為
handler
。請勿編輯此 Node.js 函數的名稱。如果這麼做,調用函數時,Lambda 將無法執行您的程式碼。若要進一步了解以 Node.js 編寫的 Lambda 處理常式,請參閱 在 Node.js 中定義 Lambda 函數處理常式。
-
Lambda 事件物件:
handler
函數會使用兩個引數,event
和context
。Lambda 中的「事件」是一種 JSON 格式的文件,它包含供函數處理的資料。如果您的函數被另一個函數叫用 AWS 服務,事件物件會包含導致叫用的事件相關資訊。舉例來說,如果在物件上傳到 Amazon Simple Storage Service (Amazon S3) 儲存貯體時調用函數,則該事件會包含儲存貯體的名稱和物件索引鍵。
在此範例中,您會進入有兩個索引鍵/值組的 JSON 格式文件,在主控台中建立事件。
-
Lambda 內容物件:
函數使用的第二個引數為
context
。Lambda 會自動將「內容物件」傳遞至您的函數。內容物件包含有關函數調用及執行環境的資訊。您可以使用內容物件,基於監控目的,輸出函數調用的資訊。在此範例中,您的函數使用
logGroupName
參數,輸出其 CloudWatch 日誌群組的名稱。若要進一步了解以 Node.js 編寫的 Lambda 內容物件,請參閱 使用 Lambda 內容物件擷取 Node.js 函數資訊。
-
在 Lambda 中記錄:
您可以透過 Node.js,使用
console.log
和console.error
等主控台方法,將資訊傳送到函數的日誌。範例程式碼使用console.log
陳述式,輸出計算出的區域及函數的 CloudWatch Logs 群組名稱。您也可以使用任何寫入stdout
或stderr
的記錄程式庫。如需進一步了解,請參閱 記錄和監控 Node.js Lambda 函數。若要了解如何在其他執行期中記錄,請參閱您有興趣之執行期的「建置方式」頁面。
使用主控台程式碼編輯器調用 Lambda 函數
若要使用 Lambda 主控台程式碼編輯器來調用函數,請先建立要傳送至函數的測試事件。事件是一種 JSON 格式文件,其中包含兩個索引鍵/值組,索引鍵 "length"
和 "width"
。
若要建立測試事件
-
在主控台程式碼編輯器的 TEST EVENTS 區段中,選擇建立測試事件。
-
Event Name (事件名稱) 輸入
myTestEvent
。 -
在事件 JSON 區段中,將預設 JSON 取代為下列項目:
{ "length": 6, "width": 7 }
-
選擇 Save (儲存)。
若要測試函數並檢視調用記錄
在主控台程式碼編輯器的 TEST EVENTS 區段中,選擇測試事件旁邊的執行圖示:

當函數完成執行時,回應和函數日誌會顯示在 OUTPUT 索引標籤中。您應該會看到類似下列的結果:
Status: Succeeded
Test Event Name: myTestEvent
Response
"{\"area\":42}"
Function Logs
START RequestId: 5c012b0a-18f7-4805-b2f6-40912935034a Version: $LATEST
2024-08-31T23:39:45.313Z 5c012b0a-18f7-4805-b2f6-40912935034a INFO The area is 42
2024-08-31T23:39:45.331Z 5c012b0a-18f7-4805-b2f6-40912935034a INFO CloudWatch log group: /aws/lambda/myLambdaFunction
END RequestId: 5c012b0a-18f7-4805-b2f6-40912935034a
REPORT RequestId: 5c012b0a-18f7-4805-b2f6-40912935034a Duration: 20.67 ms Billed Duration: 21 ms Memory Size: 128 MB Max Memory Used: 66 MB Init Duration: 163.87 ms
Request ID
5c012b0a-18f7-4805-b2f6-40912935034a
當您在 Lambda 主控台之外調用函數時,必須使用 CloudWatch Logs 來檢視函數的執行結果。
若要在 CloudWatch Logs 中檢視函數的調用記錄
-
開啟 CloudWatch 主控台的 日誌群組
頁面。 -
為函數 (
/aws/lambda/myLambdaFunction
) 選擇日誌群組名稱。這是您的函數列印至主控台的日誌群組名稱。 -
向下捲動並選擇要查看的函數調用日誌串流。
您應該會看到類似下列的輸出:
INIT_START Runtime Version: nodejs:22.v13 Runtime Version ARN: arn:aws:lambda:us-west-2::runtime:e3aaabf6b92ef8755eaae2f4bfdcb7eb8c4536a5e044900570a42bdba7b869d9 START RequestId: aba6c0fc-cf99-49d7-a77d-26d805dacd20 Version: $LATEST 2024-08-23T22:04:15.809Z 5c012b0a-18f7-4805-b2f6-40912935034a INFO The area is 42 2024-08-23T22:04:15.810Z aba6c0fc-cf99-49d7-a77d-26d805dacd20 INFO CloudWatch log group: /aws/lambda/myLambdaFunction END RequestId: aba6c0fc-cf99-49d7-a77d-26d805dacd20 REPORT RequestId: aba6c0fc-cf99-49d7-a77d-26d805dacd20 Duration: 17.77 ms Billed Duration: 18 ms Memory Size: 128 MB Max Memory Used: 67 MB Init Duration: 178.85 ms
清除
使用完範例函數時,請加以刪除。您還可以刪除存放函數日誌的日誌群組,以及主控台建立的執行角色。
若要刪除 Lambda 函數
-
開啟 Lambda 主控台中的 函數頁面
。 -
選擇您建立的函數。
-
選擇 Actions (動作)、Delete (刪除)。
-
在文字輸入欄位中輸入
confirm
,然後選擇刪除。
刪除日誌群組
-
開啟 CloudWatch 主控台的 日誌群組
頁面。 -
選取函數的日誌群組 (
/aws/lambda/myLambdaFunction
)。 -
選擇 動作 、刪除日誌群組 。
-
在 刪除日誌群組 對話方塊中,選擇 刪除 。
刪除執行角色
-
開啟 AWS Identity and Access Management (IAM) 主控台的角色頁面
。 -
選取函數的執行角色,(例如
myLambdaFunction-role-
)。31exxmpl
-
選擇 刪除 。
-
在刪除角色對話方塊中輸入角色名稱,然後選擇刪除。
其他資源和後續步驟
既然您已使用主控台建立並測試簡單的 Lambda 函數,接著請採取下列後續步驟:
-
了解如何將相依項新增至函數,並使用 .zip 部署套件加以部署。從以下連結中選擇您偏好的語言。
-
若要了解如何使用另一個函數叫用 Lambda 函數 AWS 服務,請參閱教學課程:使用 Amazon S3 觸發條件調用 Lambda 函數。
-
選擇下列任一教學課程,獲得搭配使用 Lambda 與其他 AWS 服務的更複雜範例。
-
教學課程:搭配使用 Lambda 與 API Gateway:建立用於調用 Lambda 函數的 Amazon API Gateway REST API。
-
使用 Lambda 函數存取 Amazon RDS 資料庫:使用 Lambda 函數,透過 RDS 代理將資料寫入 Amazon Relational Database Service (Amazon RDS) 資料庫。
-
使用 Amazon S3 觸發條件建立縮圖影像:每次將影像檔案上傳到 Amazon S3 儲存貯體時,使用 Lambda 函數建立縮圖。
-