選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

使用 Python 建置 Lambda 函數

焦點模式
使用 Python 建置 Lambda 函數 - AWS Lambda

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

您可以在 AWS Lambda中執行 Python 程式碼。Lambda 提供用於執行程式碼來處理事件的 Python 執行期。您的程式碼會在包含適用於 Python (Boto3) 的 SDK 的環境中執行,其中包含您管理之 AWS Identity and Access Management (IAM) 角色的登入資料。若要進一步了解 Python 執行時期隨附的 SDK 版本,請參閱 包含執行時期的 SDK 版本

Lambda 支援以下 Python 執行期。

名稱 識別符 作業系統 取代日期 封鎖函數建立 封鎖函數更新

Python 3.13

python3.13

Amazon Linux 2023

2029 年 6 月 30 日

2029 年 7 月 31 日

2029 年 8 月 31 日

Python 3.12

python3.12

Amazon Linux 2023

2028 年 10 月 31 日

2028 年 11 月 30 日

2029 年 1 月 10 日

Python 3.11

python3.11

Amazon Linux 2

2026 年 6 月 30 日

2026 年 7 月 31 日

2026 年 8 月 31 日

Python 3.10

python3.10

Amazon Linux 2

2026 年 6 月 30 日

2026 年 7 月 31 日

2026 年 8 月 31 日

Python 3.9

python3.9

Amazon Linux 2

2025 年 11 月 3 日

2025 年 12 月 8 日

2026 年 1 月 8 日

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

  2. 選擇 Create function (建立函數)

  3. 進行下列設定:

    • 函數名稱:輸入函數名稱。

    • 執行時期:選擇 Python 3.13

  4. 選擇 Create function (建立函數)

主控台將建立一個 Lambda 函數,其具有名為 lambda_function 的單一來源檔案。您可以使用內建的程式碼編輯器編輯該檔案並加入更多檔案。在 DEPLOY 區段中,選擇部署以更新函數的程式碼。然後,若要執行程式碼,請在測試事件區段中選擇建立測試事件

Lambda 函數隨附有 CloudWatch Logs 記錄群組。函數執行期會將每次調用的詳細資訊傳送至 CloudWatch Logs。它在調用期間會轉送您的函數輸出的任何記錄。如果您的函數傳回錯誤,Lambda 會對該錯誤進行格式化之後傳回給調用端。

包含執行時期的 SDK 版本

Python 執行時間中包含的 AWS SDK 版本取決於執行時間版本和您的 AWS 區域。若要尋找您使用的執行時期中包含的 SDK 版本,請使用下列程式碼建立 Lambda 函數。

import boto3 import botocore def lambda_handler(event, context): print(f'boto3 version: {boto3.__version__}') print(f'botocore version: {botocore.__version__}')

Python 3.13 中的實驗功能

Python 3.13 受管執行時期和基礎映像不支援下列實驗功能。無法使用執行時期旗標啟用這些功能。若要在 Lambda 函數中使用這些功能,必須部署自訂執行時期容器映像,其中包含您自己的 Python 3.13 建置。

回應格式

在 Python 3.12 及更高版本 Python 的執行期中,函數傳回的 JSON 回應包含 Unicode 字元。早期版本 Python 的執行期會在回應中傳回 Unicode 字元的逸出序列。例如,在 Python 3.11 中,如果您傳回 Unicode 字串,如 "こんにちは",它將逸出 Unicode 字元並傳回 "\u3053\u3093\u306b\u3061\u306f"。Python 3.12 執行期會傳回原始的 "こんにちは"。

使用 Unicode 回應可使 Lambda 回應變小,因此能更容易地將較大的回應納入同步函數的 6 MB 最大承載大小。在之前的範例中,逸出版本為 32 位元組,相較之下,Unicode 字串為 17 位元組。

當您升級到 Python 3.12 或更高 Python 執行時期時,可能需要調整您的程式碼以適應新的回應格式。若呼叫者預期得到逸出 Unicode,您必須新增程式碼至傳回的函數以便手動逸出 Unicode,或調整呼叫者以處理 Unicode 傳回。

延伸模組正常關機

Python 3.12 及更高版本 Python 的執行期為具有外部延伸模組的函數提供正常關機功能。當 Lambda 關閉執行環境時,它會傳送 SIGTERM 訊號到執行期,然後傳送 SHUTDOWN 事件到每個註冊的外部延伸模組。您可以捕獲 Lambda 函數中的 SIGTERM 訊息並清理資源,例如由函數建立的資料庫連線等。

若要詳細了解執行環境生命週期,請參閱 了解 Lambda 執行環境生命週期。有關如何使用延伸模組正常關機的範例,請參閱 AWS 範例 GitHub 儲存庫

下一個主題:

處理常式

上一個主題:

追蹤
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。