2.4.1 • Published 2 years ago

lb-sls v2.4.1

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
2 years ago

LB-SLS

Este projeto tem como objetivo facilitar a criação de projetos serverless para a AWS utilizando o Projen, Typescript e Serverless Framework

Inicialização

Para gerar o projeto execute os comandos conforme o exemplo abaixo:

$ mkdir novo-projeto
$ cd novo-projeto
$ npx projen new --from lb-sls
...

Modo de uso

Uma vez que o projeto tenha sido criado você encontrará na raiz do projeto o arquivo .projenrc.ts com o seguinte conteúdo:

import { LBSls } from 'lb-sls';
const project = new LBSls({
  defaultReleaseBranch: 'main',
  devDeps: ['lb-sls'],
  name: 'novo-projeto',

  // deps: [],                /* Runtime dependencies of this module. */
  // description: undefined,  /* The description is just a string that helps people understand the purpose of the package. */
  // packageName: undefined,  /* The "name" in package.json. */
});
project.synth();

Este arquivo permite que várias funcionalidades do projeto sejam configuradas

Ao se alterar o arquivo .projenrc.ts execute o comando projen no bash/cmd para que as alterações sejam processadas

$ projen

Exemplos

Adiciona o axios como uma dependência

import { HttpMethodType, LBSls } from 'lb-sls';
const project = new LBSls({
  defaultReleaseBranch: 'main',
  devDeps: ['lb-sls'],
  name: 'novo-projeto',

  deps: ['axios'],
});
project.synth();

package.json

"dependencies": {
    "@aws-lambda-powertools/logger": "^1.0.2",
    "@types/aws-lambda": "^8.10.101",
    "axios": "^0.27.2",
    "esbuild": "^0.14.53",
    "serverless": "^3.21.0",
    "serverless-esbuild": "^1.32.5"
  },

Lambda com integração com o API Gateway utilizando o método POST

...

project.addHttpFunction({
  name: 'lambda-exemplo',
  methodPath: 'lambda/teste',
  httpMethodType: HttpMethodType.POST
});

project.synth();

Lambda com integração com o API Gateway utilizando o método POST e validando o payload

...

project.addHttpFunction({
  name: 'lambda-exemplo',
  methodPath: 'lambda/teste',
  httpMethodType: HttpMethodType.POST,
  schemaObject: {
    movie: 'Jaws',
    release: 1975,
    imdbRating: 8.1
  },
  requiredKeys: ['movie']
});

project.synth();

Lambda com integração com o API Gateway utilizando o método POST com a VPC configurada

...

project.addHttpFunction({
  name: 'lambda-exemplo',
  methodPath: 'lambda/teste',
  httpMethodType: HttpMethodType.POST,
  vpc: true
});

project.synth();

Comandos

  • sls package - Gera o pacote de implantação
  • sls deploy - Executa o deploy na AWS
  • sls remove - Remove a stack da AWS
  • projen - atualiza o projeto conforme configurado no arquivo .projenrc.ts
2.3.0

2 years ago

2.4.1

2 years ago

2.3.2

2 years ago

2.4.0

2 years ago

2.3.1

2 years ago

2.2.3

2 years ago

2.2.2

2 years ago

2.2.1

2 years ago

2.2.0

2 years ago

2.1.0

2 years ago

2.0.0

2 years ago

1.0.0

2 years ago

0.0.16

2 years ago

0.0.15

2 years ago

0.0.14

2 years ago

0.0.13

2 years ago

0.0.12

2 years ago

0.0.11

2 years ago

0.0.10

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago

0.0.0

2 years ago