O que SST faz?
Visão Geral
SST (Serverless Stack) é um framework para construir e implantar aplicações full-stack na AWS com construtos de alto nível para Lambda, API Gateway, DynamoDB, S3 e frameworks frontend. Ele oferece desenvolvimento local ao vivo conectado a serviços reais da AWS, vinculação de recursos com tipos seguros e suporte zero-config para TypeScript.
Instruções
- Ao definir infraestrutura, use
sst.config.tscom componentes tipados comosst.aws.Function,sst.aws.Api,sst.aws.Bucketesst.aws.Dynamo. - Ao conectar recursos, use a propriedade
linknas Functions para conceder automaticamente permissões IAM e injetar variáveis de ambiente; acesse recursos vinculados viaResource.Nomenos handlers. - Ao desenvolver localmente, use
sst dev, que executa Lambda localmente com recarga a quente enquanto está conectado a serviços reais da AWS (DynamoDB, S3, SQS), com suporte para depuração com breakpoints no VS Code. - Ao implantar, use
sst deploy --stage prodpara estágios nomeados,sst deploy --stage pr-${NUMERO_PR}para ambientes de preview esst remove --stage devpara desmontagem. - Ao implantar frontends, use os componentes
sst.aws.Nextjs,sst.aws.Remixousst.aws.Astropara SSR no Lambda com ativos estáticos no S3 + CloudFront. - Ao gerenciar segredos, use
sst secret set CHAVE valorpara armazenamento criptografado de segredos específicos por estágio. - Ao organizar o código, mantenha handlers enxutos em
packages/functions/como orquestradores e coloque a lógica de negócio empackages/core/.
Exemplos
Exemplo 1: Construir uma API serverless com DynamoDB
Solicitação do usuário: "Criar uma API REST na AWS com DynamoDB usando SST"
Ações:
- Definir tabela DynamoDB e API Gateway em
sst.config.ts - Vincular a tabela às funções handler da API para permissões automáticas
- Implementar handlers CRUD acessando
Resource.MinhaTabela.name - Executar
sst devpara desenvolvimento local ao vivo contra serviços reais da AWS
Resultado: Uma API REST serverless com acesso a recursos tipo-seguro e depuração ao vivo.
Exemplo 2: Implantar um app Next.js com ambientes de preview
Solicitação do usuário: "Implantar meu app Next.js na AWS com ambientes de preview por PR"
Ações:
- Configurar o componente
sst.aws.Nextjscom domínio personalizado e recursos vinculados - Configurar CI para executar
sst deploy --stage pr-${NUMERO_PR}para cada pull request - Vincular recursos de backend (API, banco de dados) à implantação Next.js
- Adicionar etapa de limpeza com
sst removequando o PR for fechado
Resultado: Uma implantação Next.js de produção na AWS com ambientes de preview isolados para cada PR.
Diretrizes
- Use
linkem vez de políticas IAM manuais; o SST gera permissões de menor privilégio automaticamente. - Acesse recursos vinculados via
Resource.Nomenos handlers; nunca codifique nomes de tabelas ou ARNs de buckets. - Use
sst devpara desenvolvimento diário; é mais rápido do que implantar na AWS a cada alteração. - Crie estágios por desenvolvedor (
sst dev --stage alice) para que cada desenvolvedor obtenha recursos AWS isolados. - Mantenha handlers enxutos: lógica de negócio em
packages/core/, handlers empackages/functions/. - Use
sst secretpara chaves de API e credenciais; elas são criptografadas e específicas por estágio. - Configure
sst deploy --stage pr-${NUMERO_PR}no CI para ambientes de preview em cada pull request.