Criar funções Lambda com TypeScript
Você pode usar o runtime Node.js para executar o código TypeScript no AWS Lambda. Como o Node.js não executa o código TypeScript de modo nativo, você deve primeiro transcompilar seu código TypeScript em JavaScript. Em seguida, use os arquivos JavaScript para implantar o código de função no Lambda. Seu código é executado em um ambiente que inclui o AWS SDK for JavaScript, com as credenciais de uma função do AWS Identity and Access Management (IAM) que você gerencia. Para saber mais sobre as versões do SDK incluídas nos runtimes do Node.js, consulte Versões do SDK incluídas no runtime.
O Lambda oferece suporte aos runtimes Node.js a seguir.
Node.js | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Nome | Identificador | Sistema operacional | Data da substituição | Bloquear a criação de funções | Bloquear a atualização de funções | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Node.js 20 |
|
Amazon Linux 2023 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Node.js 18 |
|
Amazon Linux 2 |
Tópicos
- Configurar seu ambiente de desenvolvimento de TypeScript
- Definir o manipulador de função do Lambda em TypeScript
- Implemente TypeScript código transpilado no Lambda com arquivos de arquivos.zip
- Implantar código TypeScript transcompilado no Lambda com imagens de contêiner
- Usar o objeto de contexto do Lambda para recuperar informações das funções em TypeScript
- Registrar em log e monitorar funções do Lambda em TypeScript
- Como rastrear o código TypeScript no AWS Lambda
Configurar seu ambiente de desenvolvimento de TypeScript
Use um ambiente de desenvolvimento integrado (IDE) local, um editor de texto ou o AWS Cloud9 para gravar o código de função TypeScript. Não é possível criar código TypeScript no console do Lambda.
Para transcompilar seu código TypeScript, configure um compilador como o esbuildtsc
), que é empacotado com a distribuição do TypeScript
Ao usar o esbuild, considere o seguinte:
-
Existem várias advertências de TypeScript
. -
É necessário definir as configurações de transcompilação do TypeScript para corresponder ao runtime Node.js que você pretende usar. Para obter mais informações, consulte Target
(Destino) na documentação do esbuild. Para ver um exemplo de arquivo tsconfig.json que mostra como direcionar uma versão específica do Node.js compatível com o Lambda, consulte o repositório GitHub do TypeScript . -
O esbuild não executa verificações de tipo. Para verificar tipos, use o compilador
tsc
. Executetsc -noEmit
ou adicione um parâmetro"noEmit"
no arquivo tsconfig.json, conforme mostrado no exemplo a seguir. Isso configuratsc
para não emitir arquivos JavaScript. Após verificar os tipos, use esbuild para converter os arquivos TypeScript em JavaScript.
exemplo 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"] }