Aplicação back-end em Java que utiliza AWS Lambda, Amazon S3 e Amazon API Gateway para encurtamento de URLs. A aplicação gera um código único para cada URL fornecida e também realiza o processo inverso, retornando a URL original com base no código fornecido.
☝ Pré-requisitos |
🛠️ Como configurar |
⚡Como utilizar |
📜 Licença
➡️ Ter uma conta na AWS
➡️ Ter o JDK 17 ou posterior instalado
Clone este repositório
git clone https://github.com/lucaspanizio/url-shortener.gitAcesse o diretório da aplicação
cd url-shortenerInstale as dependências. Pode fazer isso por meio da IDE ou por meio de linha de comando se tiver o mvn instalado de forma global.
mvn clean installCompile a aplicação. Novamente isso pode ser feito via IDE ou linha de comando.
mvn clean packageConfigurações AWS
Crie um bucket no Amazon S3 com as configurações padrão.
Crie uma função Lambda chamada ShortUrlGenerator com a linguagem Java.
pom.xml.
Configurações:
- Habilite a URL da função Lambda.
- Tipo de autenticação: NONE (sem autenticação).
- Utilize as demais configurações padrão.
- Modifique o manipulador da função para:
com.rocketseat.ShortUrlGenerator::handleRequest. - Acesse o papel de execução (IAM Role) associado à função e Criar política em linha com permissões para:
s3:GetObjects3:PutObjects3:ListBucket
- Especifique a ARN do bucket criado na etapa anterior.
- Compile a aplicação e faça upload do arquivo
.jargerado.
Repita os passos acima para criar uma segunda função Lambda chamada ShortUrlResolver. A única diferença deve ser o manipulador da função, para esta função defina-o como:
com.rocketseat.ShortUrlResolver::handleRequest.
- Para ambas as funções Lambda (
ShortUrlGeneratoreShortUrlResolver), adicione uma variável de ambiente chamadaS3_BUCKET_NAMEe valor igual ao nome do bucket S3 definido no passo 1.
-
Crie uma instância do Amazon API Gateway do tipo HTTP com as opções padrão.
-
Configure as rotas na API Gateway:
- POST /:
- Integração: Função Lambda.
- ARN: Função Lambda
ShortUrlGenerator.
- GET /{urlCode}:
- Integração: Função Lambda.
- ARN: Função Lambda
ShortUrlResolver.
- POST /:
-
Conceda permissão em ambas as integrações ao API Gateway para invocar as funções Lambda.
Esse projeto está sob a licença MIT.



