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 événementielles Lambda avec TypeScript
Vous pouvez utiliser Node.js temps d'exécution à exécuter TypeScript code dans AWS Lambda Fonctions événementielles. Parce que Node.js ne court pas TypeScript code en mode natif, vous devez d'abord transpiler votre TypeScript code dans JavaScript. Ensuite, utilisez JavaScript fichiers pour déployer le code de votre fonction sur Lambda. Votre code s'exécute dans un environnement qui inclut AWS SDK pour JavaScript, avec les informations d'identification d'un Gestion des identités et des accès AWS rôle (IAM) que vous gérez. Pour en savoir plus sur les versions du SDK incluses dans le Node.js temps d'exécution, voir Runtime-included Versions du SDK.
Pour plus d'informations sur le traçage TypeScript fonctions avec, voir TypeScript Code de suivi dans AWS Lambda.
Lambda prend en charge les éléments suivants Node.js temps d'exécution.
| 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 |
29 juillet 2027 |
31 août 2027 |
Rubriques
Configuration d'un TypeScript environnement 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 TypeScript environnement de développement
Utilisez un environnement de développement intégré (IDE) local ou un éditeur de texte pour rédiger votre TypeScript code de fonction. Vous ne pouvez pas créer TypeScript code sur la console Lambda.
Vous pouvez utiliser soit esbuildtsc) 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 existe plusieurs TypeScript avertissements
. -
Vous devez configurer votre TypeScript paramètres de transpilation pour correspondre à Node.js environnement d'exécution que vous prévoyez d'utiliser. Pour plus d’informations, consultez Cible
dans la documentation d’esbuild. Pour un exemple de tsconfig.json fichier qui montre comment cibler une cible spécifique Node.js version prise en charge par Lambda, reportez-vous au TypeScript GitHub référentiel . -
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 configuretscpour ne pas émettre JavaScript fichiers. Après avoir vérifié les types, utilisez esbuild pour convertir TypeScript fichiers dans 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 @types/aws-lambda
-
Commun AWS sources d'événements, 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, voir aws-lambda
Note
Vous n'avez pas besoin @types/aws-lambda