Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

267
Vistas
Límite de tamaño de S3 en ApiGateway creado por CloudFormation

Tengo una plantilla de formación de nubes que define una nueva puerta de enlace api:

 AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: API for getting planetary info Resources: PlanetsApi: Type: AWS::ApiGateway::RestApi Properties: Name: "Planets API"

Tengo CodePipeline configurado para crear esto como un conjunto de cambios y luego ejecutar el conjunto de cambios.

Cuando se ejecuta el conjunto de cambios, falla con el siguiente error:

 13:55:28 UTC-0400 CREATE_FAILED AWS::ApiGateway::RestApi PlanetsApi S3 object size exceeds limit of 2 MB

No sé de dónde viene este límite ni por qué se carga algo en S3. Las búsquedas de Google no arrojan información útil. Curiosamente, si creo el conjunto de cambios y lo ejecuto a través de la consola de CloudFormation, no obtengo ningún error.

¿Qué estoy haciendo mal?

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Tenía el mismo problema. Y wow, me di cuenta cuando uso aws cloudformation package , crea un BodyS3Location con sus propiedades ( Bucket y key ) debajo de donde defino mi Type: AWS::ApiGateway::RestApi . Esto sucede, a pesar de que no había definido dichos parámetros anteriormente en mi plantilla, antes de que el cloudformation package lo procesara. Esto, entonces causa el error.

Lo que hice para abordar este problema:

  1. Deje que CodePipeline se ejecute y falle (con el error)

  2. Vaya a la consola de AWS , busque la pila fallida y expanda Plantilla

  3. Encuentre las líneas en las que se genera BodyS3Location y sus parámetros (para mí estaban en las líneas 22 a 24)

  4. Agregue un comando en buildspec.yml para eliminar estas líneas, después del comando del paquete (ejemplo a continuación)

    • aws cloudformation package --s3-bucket some-s3bucket --template-file ./template.yml --output-template-file ./packaged-template.yml

    • sed --in-place '22,24d' packaged-template.yml

  5. commit y push al repositorio nuevamente

  6. ¡Debe funcionar ahora!

Nota: ¡Esta no es la mejor solución, este problema debe resolverse desde el final de AWS !


ACTUALIZAR:

Tiene algo que ver con la versión AWS CLI. Intente instalar esta versión antes de ejecutar el comando del cloudformation package cloudformation (en su CodeBuild ), y debería estar listo para comenzar.

 pip install awscli==1.11.37
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda