使用 Python 建置 Lambda 函數
您可以在 AWS Lambda 中執行 Python 程式碼。Lambda 提供用於執行程式碼來處理事件的 Python 執行時間。您的程式碼將使用您所管理的 AWS Identity and Access Management (IAM) 角色的登入資料,在含有 SDK for Python (Boto3) 的環境中執行。
Lambda 支援以下 Python 執行時間。
Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
名稱 | 識別符 | SDK | 作業系統 | 架構 | 棄用 (階段 1) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Python 3.10 |
|
boto3-1.26.90 botocore-1.29.90 |
Amazon Linux 2 |
x86_64,arm64 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Python 3.9 |
|
boto3-1.26.90 botocore-1.29.90 |
Amazon Linux 2 |
x86_64,arm64 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Python 3.8 |
|
boto3-1.26.90 botocore-1.29.90 |
Amazon Linux 2 |
x86_64,arm64 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Python 3.7 |
|
boto3-1.26.90 botocore-1.29.90 |
Amazon Linux |
x86_64 |
此資料表中的執行時間資訊會不斷更新。如需在 Lambda 使用 AWS 軟體開發套件的詳細資訊,請參閱《在 Lambda 函數中管理 AWS 軟體開發套件》。
Lambda 函數使用執行角色取得許可,可將記錄寫入 Amazon CloudWatch Logs,並存取其他服務和資源。如果您還沒有執行角色可用於進行函式開發,請建立該角色。
若要建立執行角色
-
在 IAM 主控台中開啟 角色頁面
。 -
選擇 建立角色。
-
建立具備下列屬性的角色。
-
信任實體 - Lambda。
-
許可 - AWSLambdaBasicExecutionRole。
-
角色名稱 -
lambda-role
。
AWSLambdaBasicExecutionRole 政策具備函數將日誌寫入到 CloudWatch Logs 所需的許可。
-
您可以稍後再為該角色新增許可,或將其與特定於單一函式的另一角色互換。
若要建立 Python 函數
-
開啟 Lambda 主控台
。 -
選擇 建立函數。
-
進行下列設定:
-
Name (名稱) –
my-function
。 -
執行時間–Python 3.9。
-
Role (角色) – 選擇現有的角色。
-
Existing role (現有角色) -
lambda-role
。
-
-
選擇 建立函數。
-
若要設定測試事件,請選擇 Test (測試)。
-
Event name (事件名稱) 輸入
test
。 -
選擇 Save changes (儲存變更)。
-
若要叫用函數,請選擇 Test (測試)。
主控台將建立一個 Lambda 函數,其具有名為 lambda_function
的單一來源檔案。您可以使用內建的程式碼編輯器編輯該檔案並加入更多檔案。選擇 Save (儲存) 以儲存變更。然後,若要執行程式碼,請選擇 Test (測試)。
注意
Lambda 主控台使用 AWS Cloud9 在瀏覽器中提供整合式開發環境。您也可以使用 AWS Cloud9 在您自己的環境中開發 Lambda 函數。如需詳細資訊,請參閱《AWS Cloud9 使用者指南》中的使用 Lambda 函數。
注意
若要開始在您的本機環境中開發應用程式,請部署本指南 GitHub 儲存庫中可用的其中一個範例應用程式。
以 Python 編寫的範例 Lambda 應用程式
-
blank-python
- 一種 Python 函數,它示範如何使用記錄、環境變數、AWS X-Ray 追蹤、層、單元測試和 AWS 開發套件。
Lambda 函數隨附有 CloudWatch Logs 記錄群組。函數執行時間會將每次叫用的詳細資訊傳送至 CloudWatch Logs。它在叫用期間會轉送您的函數輸出的任何記錄。如果您的函數傳回錯誤,Lambda 會對該錯誤進行格式化之後傳回給叫用端。