选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

适用于 .NET 的 Lambda SnapStart 运行时钩子

聚焦模式
适用于 .NET 的 Lambda SnapStart 运行时钩子 - AWS Lambda

在 Lambda 创建快照之前或在 Lambda 从快照恢复函数之后,使用运行时钩子实施代码。.NET 运行时钩子作为 Amazon.Lambda.Core 程序包(2.5.0 版或更高版本)的一部分提供。此库提供了两种可用于定义运行时钩子的方法:

  • RegisterBeforeSnapshot():创建快照之前运行的代码

  • RegisterAfterSnapshot():从快照恢复函数之后运行的代码

注意

如果您使用的是适用于.NET 的 Lambda 注释框架,则请升级到 Amazon.Lambda.Annotations 1.6.0 版或更高版本,以确保与 SnapStart 兼容。

运行时钩子注册和执行

在初始化代码中注册钩子。根据 Lambda 函数的执行模型,请考虑以下指南:

要在 .NET 中注册 SnapStart 的运行时钩子,请使用以下方法:

Amazon.Lambda.Core.SnapshotRestore.RegisterBeforeSnapshot(BeforeCheckpoint); Amazon.Lambda.Core.SnapshotRestore.RegisterAfterRestore(AfterCheckpoint);

注册多个钩子类型时,Lambda 执行运行时钩子的顺序由注册顺序决定:

  • RegisterBeforeSnapshot():按注册的相反顺序执行

  • RegisterAfterSnapshot():按注册的顺序执行

注意

Lambda 创建快照时,初始化代码最多可以运行 15 分钟。时间限制为 130 秒或配置的函数超时(最大 900 秒),以较高者为准。您的 RegisterBeforeSnapshot() 运行时挂钩计入初始化代码时限。Lambda 还原快照时,运行时必须加载,并且 RegisterAfterSnapshot() 运行时钩子必须在超时限制(10 秒)内完成。否则,您将收到 SnapStartTimeoutException。

示例

以下示例函数介绍如何在检查点检查(RegisterBeforeSnapshot)之前和还原(RegisterAfterRestore)之后运行代码。

public class SampleClass { public SampleClass() { Amazon.Lambda.Core.SnapshotRestore.RegisterBeforeSnapshot(BeforeCheckpoint); Amazon.Lambda.Core.SnapshotRestore.RegisterAfterRestore(AfterCheckpoint); } private ValueTask BeforeCheckpoint() { // Add logic to be executed before taking the snapshot return ValueTask.CompletedTask; } private ValueTask AfterCheckpoint() { // Add logic to be executed after restoring the snapshot return ValueTask.CompletedTask; } public APIGatewayProxyResponse FunctionHandler(APIGatewayProxyRequest request, ILambdaContext context) { // Add business logic return new APIGatewayProxyResponse { StatusCode = 200 }; } }

本页内容

下一主题:

监控

上一主题:

Python
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。