如何将多个 Lambda 函数从 python 2.7 更新到 3.6
How to update multiple Lambda functions from python 2.7 to 3.6
我有大约 13 个带触发器的 Lambda 函数 python 2.7 运行时环境。我需要更新到 3.6
最有效的方法是什么?我需要创建所有新的 lambda 吗?如果出现问题,我可以回滚到 2.7 lambda 吗?
任何帮助将不胜感激。
您可以在 AWS 管理控制台中的代码下方为您的 lambda 处理程序尝试运行时设置。在那里你可以选择你的运行时(例如 Python 3.8 或 2.7)。由您来解决所有向后兼容性问题。
显然,这意味着您需要为每个处理程序执行此操作。
如果您还没有这样做,更好的方法是使用无服务器并从 serverless.yaml 配置文件部署堆栈。
请注意,从 2021 年 7 月中旬开始,AWS 将开始 python 2.7 支持结束的第一阶段。因此,为了获得更面向未来的解决方案,最好考虑这一点。
希望对您有所帮助。
如果您想手动执行此操作,请转至 Lambda 控制台 -> 操作 -> 导出函数 -> 下载部署包。这将下载包含 Lambda 和任何支持库的 zip。可以通过使用正确的名称和角色以及 运行time 创建一个新的 Lambda,然后选择上传自 -> .zip 文件选项来逆转此过程。
这是您可以备份 Lambda 并手动恢复它们的方法。
要更新 运行 时间,只需进入 Lambda 控制台 -> 代码并滚动到运行时设置以更改 运行 时间。取决于您的 Lambda 从 Python 2 跳到 3 的代码可能不会 运行 - 因此仅更改 运行 时间可能不是您唯一需要做的事情。
如果您想编写 运行 时间的更新脚本,那么您可以像这样使用 CLI 命令:
aws lambda update-function-configuration --function-name "YourFunctionName" --运行time "python3.6"
正如@markonic 所说,您需要处理代码以与 python3.X 兼容。
但仅将 2.7 的 lambda 运行时更改为 3.6,您可以使用以下命令:
aws lambda --region 'us-east-1' update-function-configuration \
--function-name ArnOfYourFunction \
--runtime python3.6
您可以使用相同的命令回滚到 python2.7 更改参数
我有大约 13 个带触发器的 Lambda 函数 python 2.7 运行时环境。我需要更新到 3.6
最有效的方法是什么?我需要创建所有新的 lambda 吗?如果出现问题,我可以回滚到 2.7 lambda 吗?
任何帮助将不胜感激。
您可以在 AWS 管理控制台中的代码下方为您的 lambda 处理程序尝试运行时设置。在那里你可以选择你的运行时(例如 Python 3.8 或 2.7)。由您来解决所有向后兼容性问题。
显然,这意味着您需要为每个处理程序执行此操作。 如果您还没有这样做,更好的方法是使用无服务器并从 serverless.yaml 配置文件部署堆栈。
请注意,从 2021 年 7 月中旬开始,AWS 将开始 python 2.7 支持结束的第一阶段。因此,为了获得更面向未来的解决方案,最好考虑这一点。
希望对您有所帮助。
如果您想手动执行此操作,请转至 Lambda 控制台 -> 操作 -> 导出函数 -> 下载部署包。这将下载包含 Lambda 和任何支持库的 zip。可以通过使用正确的名称和角色以及 运行time 创建一个新的 Lambda,然后选择上传自 -> .zip 文件选项来逆转此过程。 这是您可以备份 Lambda 并手动恢复它们的方法。
要更新 运行 时间,只需进入 Lambda 控制台 -> 代码并滚动到运行时设置以更改 运行 时间。取决于您的 Lambda 从 Python 2 跳到 3 的代码可能不会 运行 - 因此仅更改 运行 时间可能不是您唯一需要做的事情。
如果您想编写 运行 时间的更新脚本,那么您可以像这样使用 CLI 命令:
aws lambda update-function-configuration --function-name "YourFunctionName" --运行time "python3.6"
正如@markonic 所说,您需要处理代码以与 python3.X 兼容。
但仅将 2.7 的 lambda 运行时更改为 3.6,您可以使用以下命令:
aws lambda --region 'us-east-1' update-function-configuration \
--function-name ArnOfYourFunction \
--runtime python3.6
您可以使用相同的命令回滚到 python2.7 更改参数