Este é um projeto Serverless utilizando Node.js, com estrutura organizada para facilitar o desenvolvimento e o deployment de funções Lambda.
-
configserverless/: Contém o arquivomapping.jsonutilizado pela bibliotecaserverless-aws-resource-names. -
scripts/: Diretório com scripts úteis para facilitar tarefas comuns:-
deployDependencies.sh: Script para realizar o deploy do layer contendo as dependências (node_modules). Este script chamapackModules.cjs. -
deployFunction.cjs: Script que concatena o arquivoserverless.ymlprincipal com oserverless.ymlda função Lambda localizada emsrc/functions/{functionName}. Para executar o deploy da função, utilize o comandonpm run deploy hello(substitua "hello" pelo nome da função desejada). -
packModules.cjs: Gera um arquivo.zipcontendo onode_modulespara ser usado na criação do layer de dependências. -
startFunctions.cjs: Concatena o arquivoserverless.ymlprincipal com os arquivosserverless.ymlde cada função localizada emsrc/functions/{functionName}. Este script inicia o Serverless Offline, permitindo a execução local das funções.
-
-
src/: Contém o código-fonte do projeto.-
functions/: Diretório que contém as funções Lambda.-
hello/: Exemplo de uma função Lambda chamada "hello".-
handler.js: Arquivo contendo o código do handler da função Lambda. -
config.yml: Arquivo YAML com as configurações específicas da função Lambda.
-
-
-
layers/: Diretório para a definição de camadas.-
servicesNodeModules/: Exemplo de camada para armazenar onode_modules.serverless.yml: Configuração do Serverless para a criação da camada.
-
-
-
package.json: Arquivo de configuração do Node.js contendo as dependências e scripts úteis. -
serverless-env.yml: Arquivo YAML utilizado para configurar propriedades que serão usadas noserverless.ymlprincipal. -
serverless.yml: Arquivo principal de configuração Serverless.
-
npm run deploy-dependencies: Executa o scriptdeployDependencies.shpara fazer o deploy do layer com as dependências. -
npm run deploy {functionName}: Executa o scriptdeployFunction.cjspara fazer o deploy da função Lambda específica. Substitua{functionName}pelo nome da função desejada. -
npm run start: Executa o scriptstartFunctions.cjspara iniciar o Serverless Offline e permitir a execução local das funções.
- Instalação de Dependências:
npm install
- Deploy das Dependências:
npm run deploy-dependencies
- Deploy de uma Função Lambda:
npm run deploy {functionName} - Execução Local das Funções:
npm run start