使用AWS re:Post即您表示您同意 AWS re:Post 使用条款

为什么我的 Lambda 运行时版本与我的 Lambda 运行时标识符不同?

1 分钟阅读
0

我想详细了解 AWS Lambda 运行时版本以及它们与 Lambda 运行时的区别。此外,我想知道如何识别这些值以及它们如何影响我的 Lambda 函数。

简短描述

Lambda 函数在特定的运行时运行,例如 Python 3.12 或 Node.js 14.x。这些运行时由其所有者根据需要更新。Lambda 可确保每个托管运行时都使用所有当前的安全更新、错误修复、新功能、性能增强以及对次要版本发布的支持进行更新。然后,这些运行时更新将作为运行时版本发布。Lambda 还将这些运行时更新应用于使用早期运行时版本的 Lambda 函数,以便它们使用新的运行时版本。

解决方法

Lambda 运行时标识符与Lambda 运行时版本

Lambda 运行时标识符与 Lambda 运行时版本不同。运行时标识符代表编程语言的不同主要版本,例如 nodejs18.x、nodejs20.x、python3.11 或 python3.12。运行时版本是指函数启动环境的次要运行时和安全补丁。运行时版本描述单个运行时的补丁版本。有关详细信息,请参阅 AWS Lambda 运行时管理控制简介

Lambda 运行时次要版本

Lambda 运行时次要版本与 Lambda 运行时版本不同。要查找运行时版本 ARN,请完成以下步骤:

  1. 打开 AWS Lambda 控制台
  2. 选择您的函数的名称。
  3. Runtime settings(运行时设置)部分中,选择 Runtime management configuration(运行时管理配置)。
    -或-
    在函数日志中查找 Runtime version ARN(运行时版本 ARN)。

每次 Lambda 为您的函数创建新的启动环境时,都会显示以下日志。

INIT_START Runtime Version: python:3.9.v14    Runtime Version ARN: arn:aws:lambda:eu-south-1::runtime:7b620fc2e66107a1046b140b9d320295811af3ad5d4c6a011fad1fa65127e9e6I

要查找基于 Node.js 的 Lambda 函数的运行时次要版本,请使用 process.version 记录该版本,如以下示例所示:

console.log('NODE_VERSION', process.version)

要查找基于 Python 的 Lambda 函数的运行时次要版本,请使用 sys.version 记录该版本,如以下示例所示。

import sys
print (sys.version)

Python 的输出示例:

3.12: 3.12.5 (main, Sep 9 2024, 14:55:57) [GCC 11.4.1 20230605 (Red Hat 11.4.1-2)]

相关信息

如何解决由运行时版本错误导致的 Lambda 函数故障?

运行时更新模式

AWS 官方
AWS 官方已更新 1 个月前