Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Hooks d' SnapStart exécution Lambda pour .NET

Mode de mise au point
Hooks d' SnapStart exécution Lambda pour .NET - AWS Lambda

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Vous pouvez utiliser des hooks d’exécution pour implémenter du code avant que Lambda ne crée un instantané ou après que Lambda ait repris une fonction à partir d’un instantané. Les hooks d’exécution .NET sont disponibles dans le cadre du package Amazon.Lambda.Core (version 2.5.0 ou ultérieure). Cette bibliothèque fournit deux méthodes que vous pouvez utiliser pour définir vos hooks d’exécution :

  • RegisterBeforeSnapshot() : code à exécuter avant la création de l’instantané

  • RegisterAfterSnapshot() : code à exécuter après la reprise d’une fonction à partir d’un instantané

Enregistrement et exécution du hook d’exécution

Enregistrez vos hooks dans votre code d’initialisation. Tenez compte des directives suivantes en fonction du modèle d’exécution de votre fonction Lambda :

Pour enregistrer des hooks d'exécution pour SnapStart .NET, utilisez les méthodes suivantes :

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

Lorsque plusieurs types de hooks sont enregistrés, l’ordre dans lequel Lambda exécute vos hooks d’exécution est déterminé par l’ordre d’enregistrement :

  • RegisterBeforeSnapshot() : exécutés dans l’ordre inverse de l’enregistrement

  • RegisterAfterSnapshot() : exécutés dans l’ordre d’enregistrement

Note

Lorsque Lambda crée un instantané, votre code d’initialisation peut s’exécuter jusqu’à 15 minutes. Le délai d’attente est de 130 secondes ou le délai d’expiration de la fonction configurée (900 secondes au maximum), la valeur la plus élevée étant retenue. Vos hooks d’exécution RegisterBeforeSnapshot() sont comptabilisés dans le délai d’attente du code d’initialisation. Lorsque Lambda restaure un instantané, l’exécution doit se charger et les hooks d’exécution RegisterAfterSnapshot() doivent se terminer dans le délai imparti (10 secondes). Sinon, vous obtiendrez un SnapStartTimeoutException.

exemple

L’exemple de fonction suivant montre comment exécuter le code avant le point de contrôle (RegisterBeforeSnapshot) et après la restauration (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 }; } }

Rubrique suivante :

Surveillance

Rubrique précédente :

Python
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.