AWS Lambda
开发人员指南

AWS Lambda 函数版本控制和别名

通过使用版本控制,您可以在 AWS Lambda 中更好地管理生产环境中的函数代码。在 AWS Lambda 中使用版本控制时,您可以发布 Lambda 函数的一个或多个版本。因此,您可在开发工作流(例如开发、测试和生产)中使用 Lambda 函数的不同变型。

每个 Lambda 函数版本具有唯一的 Amazon 资源名称 (ARN)。版本一旦发布,则不能更改。

AWS Lambda 还支持为您的每个 Lambda 函数版本创建别名。从概念上讲,AWS Lambda 别名是指向特定 Lambda 函数版本的指针。它也是类似于 Lambda 函数的资源,每个别名具有唯一的 ARN。每个别名为它指向的函数版本保留一个 ARN。别名只能指向函数版本,而不能指向其他别名。与版本不同,可以修改别名。您可以更新别名以指向不同的函数版本。

利用别名,可以从 Lambda 函数版本的映射及其事件源中抽象化将新的 Lambda 函数版本提升到生产中的过程。

例如,假设 Amazon S3 是在存储桶中创建新对象时调用您的 Lambda 函数的事件源。当 Amazon S3 为事件源时,您将事件源映射信息存储在存储桶通知配置中。在该配置中,您可以指定 Amazon S3 可调用的 Lambda 函数 ARN。不过,在这种情况下,每次发布新的 Lambda 函数版本时,您都需要更新通知配置以便 Amazon S3 调用正确的版本。

相反,假设您在通知配置中指定别名 ARN (例如,PROD 别名 ARN),而不是指定函数 ARN。在将 Lambda 函数的新版本提升到生产环境时,您只需要更新 PROD 别名以指向最新的稳定版本。您无需更新 Amazon S3 中的通知配置。

当您需要回滚到 Lambda 函数的之前的版本时,也同样适用。在此方案中,您只需更新 PROD 别名以指向其他函数版本。无需更新事件源映射。

在构建涉及多个依赖项和开发人员的应用程序时,我们建议您使用版本控制和别名以部署 Lambda 函数。