使用 Python 建置 Lambda 函數 - AWS Lambda

使用 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

python3.10

boto3-1.26.90 botocore-1.29.90

Amazon Linux 2

x86_64,arm64

Python 3.9

python3.9

boto3-1.26.90 botocore-1.29.90

Amazon Linux 2

x86_64,arm64

Python 3.8

python3.8

boto3-1.26.90 botocore-1.29.90

Amazon Linux 2

x86_64,arm64

Python 3.7

python3.7

boto3-1.26.90 botocore-1.29.90

Amazon Linux

x86_64

此資料表中的執行時間資訊會不斷更新。如需在 Lambda 使用 AWS 軟體開發套件的詳細資訊,請參閱《在 Lambda 函數中管理 AWS 軟體開發套件》。

Lambda 函數使用執行角色取得許可,可將記錄寫入 Amazon CloudWatch Logs,並存取其他服務和資源。如果您還沒有執行角色可用於進行函式開發,請建立該角色。

若要建立執行角色
  1. 在 IAM 主控台中開啟 角色頁面

  2. 選擇 建立角色

  3. 建立具備下列屬性的角色。

    • 信任實體 - Lambda

    • 許可 - AWSLambdaBasicExecutionRole

    • 角色名稱 - lambda-role

    AWSLambdaBasicExecutionRole 政策具備函數將日誌寫入到 CloudWatch Logs 所需的許可。

您可以稍後再為該角色新增許可,或將其與特定於單一函式的另一角色互換。

若要建立 Python 函數
  1. 開啟 Lambda 主控台

  2. 選擇 建立函數

  3. 進行下列設定:

    • Name (名稱) – my-function

    • 執行時間Python 3.9

    • Role (角色) – 選擇現有的角色

    • Existing role (現有角色) - lambda-role

  4. 選擇 建立函數

  5. 若要設定測試事件,請選擇 Test (測試)

  6. Event name (事件名稱) 輸入 test

  7. 選擇 Save changes (儲存變更)

  8. 若要叫用函數,請選擇 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 會對該錯誤進行格式化之後傳回給叫用端。