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

271
Visualizações
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?

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

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
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