Skip to content

tayron/serverless-api-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API Serverless

Descrição

Exemplo de uma API Serverless usando Serverless Framework e deploy no AWS utilizando os serviços:

  • AWS Lambda
  • API Gateway
  • DynamoDB

Tutorial seguido

Comandos

Comando para gravar credencial localmente da AWS:

serverless config credentials \
--provider aws \
--key apiKeyAqui \
--secret chaveSecretaAqui \
--profile my-aws-profile

Comando para realizar deploy:

Dependências
  • npm install serverless-iam-roles-per-function

Para fazer deploy e manter o stage padrão: dev serverless deploy --aws-profile my-aws-profile

Para fazer deploy e alterar o stage padrão: dev para prod serverless deploy --aws-profile my-aws-profile --stage prod

O resultado do comando será algo parecido com

....
Serverless: Stack update finished...
Service Information
service: api-python-hello-world
stage: dev
region: us-east-1
stack: api-python-hello-world-dev
resources: 16
api keys:
  myKey: CCJZsdfgzrbxi0shwR8e2Yasdfaz0bOG6A5hlJc7Ui
endpoints:
  GET - https://aaa.execute-api.aa-aa-1.amazonaws.com/dev/api/python/hello-world
functions:
  hello: api-python-hello-world-dev-hello
layers:
  None

Chave da API se encontra na reposta

api keys:
  myKey: CCJZsdfgzrbxi0shwR8e2Yasdfaz0bOG6A5hlJc7Ui

Chave da API deve ser passado no header da requisição:

x-api-key: CCJZsdfgzrbxi0shwR8e2Yasdfaz0bOG6A5hlJc7Ui

Comando para remover api em produção:

serverless remove --aws-profile my-aws-profile --stage dev

Requisição

Exemplo de requisição na API para exibir o Helo World:

curl --request GET \
  --url https://7cq8ind2me.execute-api.us-east-1.amazonaws.com/dev/api/python/hello-world \
  --header 'x-api-key: CCJZsdfgzrbxi0shwR8e2Yasdfaz0bOG6A5hlJc7Ui'

Exemplo de requisição na API para listar todos os contatos:

curl -X GET
-H "x-api-key: CCJZsdfgzrbxi0shwR8e2Yasdfaz0bOG6A5hlJc7Ui" \
https://8nncm9w4p5.execute-api.us-east-1.amazonaws.com/dev/contact

Exemplo de requisição na API para cadastrar um contato:

curl -X POST
-H "x-api-key: CCJZsdfgzrbxi0shwR8e2Yasdfaz0bOG6A5hlJc7Ui" \
-H "Content-Type: application/json" \
-d '{"name":"Lina Nathan", "phone":"90000-0000"}' \
https://8nncm9w4p5.execute-api.us-east-1.amazonaws.com/dev/contact

Exemplo de requisição na API para excluir um contato:

curl -X DELETE
-H "x-api-key: CCJZsdfgzrbxi0shwR8e2Yasdfaz0bOG6A5hlJc7Ui" \
-H "Content-Type: application/json" \
-d '{"id":"29a64dab-b77a-4b5f-9e82-222950c3b5ff"}' \
https://8nncm9w4p5.execute-api.us-east-1.amazonaws.com/dev/contact

About

API feita em Python para estudo do Serveless Framework e deploy na AWS usando Lambda e API Gateway

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy