No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

14 Días
10 Hrs
27 Min
7 Seg

Hacemos un DELETE con python

17/25
Recursos

Aportes 8

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Para ejecutar en local con el comando sls offline start, primero debes instalar boto3.
Pasos a seguir: Ubicados en la raíz del proyecto.

1. crear entorno virtual (linux)
python -m venv venv
2. activamos  el entorno virtual
source venv/binv/activate
3. Instalar boto3
pip install boto3
4. Ejecutamos sls
sls offline start

#TeamPython

  • Creo que pesa 18.76 MB porque la carpeta de node_modules no fue excluida correctamente, en mi caso cada función pesa 91 kB.

  • En mi caso, dejé la función de DELETE en JavaScript, quedó así:

...

const deleteUser = async (event, context) => {
  let id = event.pathParameters.id;

  let params = {
    TableName: "usersTable",
    Key: { id: id },
  };

  return dynamodb
    .delete(params)
    .promise()
    .then((response) => {
      return {
        statusCode: 200,
        body: JSON.stringify({ id: id }),
      };
    });
};

...

Para modo local.
Yo instale conda porque que resulta que me pedia python 3.8 y yo tengo 3.11 asi cree un ambiente virtual para python 3.8 y boto3.
Despues ya en el yml hice referencia al path donde estaba esa ruta.

 delete-Users:
    handler: deleteUsers/handler.deleteUsers
    runtime: python3.8
    environment:
      VIRTUAL_ENV_PATH: C:\ProgramData\anaconda3\envs\py38
Recientemente realice un code challenge para una posicion que aplique y en la cual implemente una funcion lambda con Java, Springboot3. El equipo de AWS confirmo el soporte y tiene una excelente documentacion al respecto, la cual comparto por si alguien ocupa. <https://github.com/aws/serverless-java-container/wiki/Quick-start---Spring-Boot3>

Se puede reducir mas si en el archivo serverless.yml se le agrega

package: 
  patterns:
    - "!.dynamodb"
    - "!node_modules"

El resultado que me dio fue que ahora todos pesan 170 hb

Si tienen el error: **Error**: Cannot read file node\_modules\\@smithy\config-resolver\dist-types\ts3.4\regionInfo\getRegionInfo.d.ts due to: EMFILE: ![](https://static.platzi.com/media/user_upload/image-eab5c2ec-b68f-4a0c-8ee4-5579234e8428.jpg) aquí te enseñas a solucionarlo: <https://forum.serverless.com/t/emfile-too-many-open-files-error-while-ci-cd-deploy/14245/11>
Al intentar implementar esto mismo con el AWS SDK v3 ES6 encuentro que requiere se suba el `node_modules` para acceder a la librería `@aws-sdk/client-dynamodb ` .