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.
Création de fonctions d'événement Lambda avec TypeScript
Vous pouvez utiliser le Node.js runtime pour exécuter TypeScript du code dans AWS Lambda Event Functions. Comme il Node.js n'exécute pas TypeScript le code de manière native, vous devez d'abord le transpiler dans TypeScript . JavaScript Utilisez ensuite les JavaScript fichiers pour déployer votre code de fonction sur Lambda. Votre code s'exécute dans un environnement qui inclut le AWS SDK pour JavaScript, avec les informations d'identification d'un rôle Gestion des identités et des accès AWS (IAM) que vous gérez. Pour en savoir plus sur les versions du SDK incluses dans les environnements d' Node.js exécution, consultez. Runtime-included Versions du SDK
Pour plus d'informations sur TypeScript les fonctions de suivi avec, voirTypeScript Code de suivi dans AWS Lambda.
Lambda prend en charge les environnements d'exécution suivants Node.js .
| Nom | Identifiant | Système d’exploitation | Date d’obsolescence | Créer la fonction de blocage | Mettre à jour la fonction de blocage |
|---|---|---|---|---|---|
|
Node.js 26 |
|
Amazon Linux 2023 |
Non planifié |
Non planifié |
Non planifié |
|
Node.js 24 |
|
Amazon Linux 2023 |
30 avril 2028 |
1 juin 2028 |
1 juillet 2028 |
|
Node.js 22 |
|
Amazon Linux 2023 |
30 avril 2027 |
1 juin 2027 |
1 juillet 2027 |
Rubriques
Configuration d'un environnement TypeScript de développement
Définissez le gestionnaire de fonctions d'événement Lambda dans TypeScript
Déployez TypeScript du code transpilé dans Lambda avec des archives de fichiers .zip
Déployez TypeScript du code transpilé dans Lambda avec des images de conteneur
Enregistrez et surveillez les fonctions des TypeScript événements Lambda
Configuration d'un environnement TypeScript de développement
Utilisez un environnement de développement intégré (IDE) local ou un éditeur de texte pour écrire votre code de TypeScript fonction. Vous ne pouvez pas créer de TypeScript code sur la console Lambda.
Vous pouvez utiliser esbuildtsc) de Microsoft pour transpiler votre TypeScript code dans. JavaScript AWS Serverless Application Model (AWS SAM) et Cloud Development Kit AWS (AWS CDK) utilisent tous deux esbuild.
Tenez compte des éléments suivants lorsque vous utilisez esbuild :
-
Il y a plusieurs TypeScript mises en garde
. -
Vous devez configurer vos paramètres de TypeScript transpilation en fonction de l'environnement Node.js d'exécution que vous prévoyez d'utiliser. Pour plus d’informations, consultez Cible
dans la documentation d’esbuild. Pour un exemple de fichier tsconfig.json qui montre comment cibler une Node.js version spécifique prise en charge par Lambda, reportez-vous au référentiel. TypeScript GitHub -
esbuild n'effectue pas de vérifications de type. Pour vérifier les types, utilisez le compilateur
tsc. Exécuteztsc -noEmitou ajoutez un paramètre"noEmit"dans votre fichier tsconfig.json comme illustré dans l’exemple suivant. Cela permet de ne pastscémettre de JavaScript fichiers. Après avoir vérifié les types, utilisez esbuild pour convertir les TypeScript fichiers en JavaScript.
Exemple tsconfig.json
{ "compilerOptions": { "target": "es2020", "strict": true, "preserveConstEnums": true,"noEmit": true,"sourceMap": false, "module":"commonjs", "moduleResolution":"node", "esModuleInterop": true, "skipLibCheck": true, "forceConsistentCasingInFileNames": true, "isolatedModules": true, }, "exclude": ["node_modules", "**/*.test.ts"] }
Définitions de type pour Lambda
Le package @ types/aws -lambda
-
Sources AWS d'événements courantes, telles que :
-
APIGatewayProxyEvent: pour les intégrations de proxy Amazon API Gateway -
SNSEvent: pour les notifications Amazon Simple Notification Service -
SQSEvent: pour les messages Amazon Simple Queue Service -
S3Event: pour les événements de déclencheur S3 -
DynamoDBStreamEvent: pour Amazon DynamoDB Streams
-
-
L’objet Contexte Lambda
-
Le modèle du gestionnaire de rappels
Pour ajouter les définitions de type Lambda à votre fonction, installez @types/aws-lambda en tant que dépendance de développement :
npm install -D @types/aws-lambda
Importez ensuite les types depuis aws-lambda :
import { Context, S3Event, APIGatewayProxyEvent } from 'aws-lambda'; export const handler = async (event: S3Event, context: Context) => { // Function code };
L’instruction import ... from 'aws-lambda' importe les définitions de type. Elle n’importe pas le package npm aws-lambda, qui est un outil tiers indépendant. Pour plus d'informations, consultez aws-lambda
Note
Vous n'avez pas besoin de @ types/aws -lambda