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

290
Visualizações
¿Cómo implementar la pila SAM con localstack?

He escrito una pila SAM y puedo compilarla, empaquetarla e implementarla en AWS. También puedo usar start-local o invocar para probar. Ahora necesito probar otros recursos de AWS. He agregado esos recursos a mi plantilla SAM. Funciona bien en AWS, pero estoy buscando una manera de implementar mi pila SAM en localstack (por ejemplo, dynamodb local). Ahora tengo que crear los recursos con la CLI y luego puedo implementar mi pila SAM (solo lambda, API GW en este caso). ¿Cómo puedo hacer esto?

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

0

Acabo de pasar por esto. Creo que lo siguiente es correcto.

AWS SAM es una formación en la nube redonda envolvente. Entonces, su plantilla SAM es en realidad una plantilla de Cloudformation. Su plantilla de Cloudformation define sus lambdas y dynamodb, etc. Cuando implementa en AWS, todas sus lambdas y dynamodb van a AWS y puede realizar pruebas en la nube.

Cuando ejecuta AWS SAM localmente, ejecuta su lambda localmente (en un contenedor docker) pero aún accede a los recursos en la nube de AWS.

LocalStack tiene una interfaz de CloudFormation, por lo que debería ser posible implementar su archivo de plantilla de CloudFormation. Pero me encontré con algunos problemas con esto y me di por vencido.

Serverless Framework es similar a AWS SAM en que es un marco para desarrollar su código serverless (lambda) y para implementarlo en AWS. Serverless tiene su propia especificación yaml para definir una pila. Convertir de Cloudformation a Serverless yaml es un poco de trabajo.

Hay un complemento sin servidor para localstack. Entonces es posible implementar su código en localstack. Si tiene API Gateway frente a sus lambdas, habrá una URL local a la que puede acceder que activa sus lambdas. Esto está completamente dentro de localstack y no usa AWS SAM.

En este punto, es posible que su código aún llegue a los servicios reales de AWS. Por lo tanto, debe cambiar la URL del punto final para que apunte localmente, como mencionó Andrew A. Para esto, y para mantener su código igual para prueba y producción, puede usar variables de entorno para cada uno de los puntos finales del servicio.

Como menciona Andrew A., debería ser posible ejecutar código usando SAM local que accede a los recursos proporcionados por localstack. Sin embargo, puede ser preferible mantener una herramienta, si esto se hizo dentro de una tubería de prueba, por ejemplo.

over 4 years ago · Santiago Trujillo Relatório

0

Después de algunas investigaciones, la forma más confiable es

  1. sam build compila y comprime tu zip en .aws-sam/build
 $ cd .aws-sam/build $ zip -qr MyLambda.zip MyLambda $ tree .aws-sam -L 2 .aws-sam ├── build │  ├── MyLambda.zip │  ├── MyLambda │  └── template.yaml └── build.toml 2 directories, 3 files
  1. Implemente el código comprimido en localstack lambda, digamos que tengo una base de código nodejs
 aws --endpoint-url=http://localhost:4566 lambda create-function \ --function-name "my-lambda" --runtime=nodejs12.x --role dummy \ --zip-file=fileb:.aws-sam/build/MyLambda.zip \ --handler MyLambda/src/index.handler
over 4 years ago · Santiago Trujillo Relatório

0

Los creadores de Localstack han creado un envoltorio liviano para el sam cli. Simplemente use pip para instalar samlocal como una biblioteca de Python en su máquina:

pip install aws-sam-cli-local

A continuación, puede realizar la implementación en la pila local utilizando samlocal deploy en lugar de sam deploy deployment normal. Algo como lo siguiente:

samlocal deploy --stack-name sam-app --capabilities CAPABILITY_IAM --guided

Para obtener más detalles sobre las opciones disponibles en sam deployment, consulte los documentos aquí .

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