Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

159
Visualizações
Cómo implementar la API REST en AWS lambda utilizando el marco go-iris

Creé la API REST utilizando el marco Go Iris. Ahora quiero implementar estas API en AWS con la función lambda. Estoy usando MySQL como base de datos. ¿Es posible implementar mi archivo ejecutable Go en AWS lambda o debo modificar mi código de acuerdo con las especificaciones de AWS lambda? Estoy tratando de encontrar la solución, pero no obtengo mucha información.

Aquí está uno de mis puntos finales de API.

 package main import ( "database/sql" "github.com/kataras/iris" "github.com/kataras/iris/middleware/logger" "github.com/kataras/iris/middleware/recover" ) type Reward struct { Id int `json:"reward_id"` LotteryID int `json:"lottery_id"` RewardName string `json:"reward_name"` Description string `json:"reward_description"` Asset int `json:"reward_asset"` AssetName string `json:"reward_asset_name"` } func dbConn() (db *sql.DB) { dbDriver := "mysql" dbUser := "xxx" dbPass := "xxx" dbName := "xxx" db, err := sql.Open(xxxxxxxxx) if err != nil { panic(err.Error()) } return db } func newApp() *iris.Application { app := iris.New() app.Logger().SetLevel("debug") app.Use(recover.New()) app.Use(logger.New()) db := dbConn() app.Get("/reward/{reward_id:int}", func(ctx iris.Context) { id1 := ctx.Params().GetIntDefault("reward_id", 0) stmtOut, err := db.Prepare("select id, lottery_id,reward_name,reward_description,reward_asset, reward_asset_name from rewards_table where id =?") if err != nil { panic(err.Error()) } defer stmtOut.Close() var id, lotteryId, rewardAsset int var rewardName, rewardDescription, rewardAssetName string err1 := stmtOut.QueryRow(id1).Scan(&id, &lotteryId, &rewardName, &rewardDescription, &rewardAsset, &rewardAssetName) if err1 != nil { panic(err.Error()) } reward := Reward{ Id: id, LotteryID: lotteryId, RewardName: rewardName, Description: rewardDescription, Asset: rewardAsset, AssetName: rewardAssetName, } ctx.JSON(&reward) }) return app } func main() { app := newApp() app.Run(iris.Addr(":8080"), iris.WithoutServerError(iris.ErrServerClosed), iris.WithOptimizations) }

Tengo algunos puntos finales de API más que realizan operaciones CRUD básicas. Estoy pensando en usar AWS lambda y AWS API Gateway.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

¿Debo modificar mi código de acuerdo con las especificaciones de AWS lambda?

Sí. Su código para lambda requerirá tener un controlador :

  • Controlador de funciones de AWS Lambda en Go

Este es el punto de entrada a su función.

También parece que su programa go es un servidor web basado en iris . Si este es el caso, no podrá usarlo de todos modos, ya que no puede invocar lambda desde Internet como lo haría con un servidor normal.

Además, lambda se ejecuta durante un máximo de 15 minutos, por lo que su uso como servidor sería muy limitado.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda