No tienes acceso a esta clase

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

Convierte tus certificados en títulos universitarios en USA

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

19 Días
15 Hrs
0 Min
36 Seg

Herramientas necesarias para un ambiente de trabajo con serverless framework

6/25
Recursos

Aportes 33

Preguntas 17

Ordenar por:

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

Error: Error getting DynamoDb local latest tar.gz location undefined: 403

Si tienes este error en la instalación de dynamodb plug-in es porque AWS cambio el dominio de descarga del plugin. Para solucionar esto basta con editar manualmente la propiedad de download_urlen node_modules/dynamodb-localhost/dynamodb/config.json a https://s3.us-west-2.amazonaws.com/dynamodb-local/dynamodb_local_latest.tar.gz y la importación de http a https en node_modules/dynamodb-localhost/dynamodb/installer.js
Luego hacer la instalación normal

serverless install dynamodb

Si después de solucionar el error que menciona @Pablo Ortiz te enfrentas con un error relacionado a:
"UnrecognizedClientException: The Access Key ID or security token is invalid.: DynamoDB - Error -"
Hay 2 pasos faltantes a corregir que no se mencionan en el video:

  1. En el archivo serverless.yml del fichero clonado, hay que modificar en el apartado de plugins:
  - serverless-dynamodb-local por éste otro:
  - serverless-dynamodb

Posterior, necesitamos desinstalar el modulo viejo (olvidado por su creador y de dificil comunicación para realizarle cambios) por el nuevo (actualmente con soporte y actualizado)
Eso se logra con unos pasos en npm el cual se detallan en el post del repo https://github.com/99x/serverless-dynamodb-local/issues/294#issuecomment-1619297733

En conclusión, los pasos son:
1.1) Uninstall serverless-dynamodb-local, e.g. npm uninstall serverless-dynamodb-local
1.2) Install serverless-dynamodb, e.g. npm install serverless-dynamodb

  1. Ahora que ya tenemos el modulo de dynamodb actualizado en npm, el ultimo paso es agregar tus llaves en el archivo handler.js localizado en el directorio de "Serverless-framework\getusers"
    Aquí tienes que agregar tus llaves del usuario de aws, tanto la accessKeyId como la secretAccessKey.

Con éstos cambios al día de 04 de Julio 2023, funciona correctamente. Cabe resaltar que ésto puede cambiar y NO ES UNA SOLUCION DEFINITIVA, por lo mismo que comenta el profesor de ser una comunidad de código abierto.

Espero le sirva a más de alguno 😄✌

El plugin de dynamodb para Serverless Framework tiene mejoras constantemente, parece ser que en las nuevas versiones disponibles se introdujo un error que genera este comportamiento al hacer la instalación en local.

Si te encuentras con este error a la hora de hacer el

sls dynamodb install

Error:

Protocol "https:" not supported. Expected "http:"

Te recomendamos seguir los siguientes pasos para hacer la instalacion manual:
*Recuerda que debes tener instalado wget

wget http://dynamodb-local.s3-website-us-west-2.amazonaws.com/dynamodb_local_latest.tar.gz
mkdir .dynamodb
tar zxvf dynamodb_local_latest.tar.gz -C .dynamodb
Info:

Github Issue Thread

No puedo creer que este tan desactualizado esta parte. Platzi, por que dejan que pase esto, mucha perdida de tiempo tratando de hacer que funcione.
Si te ha salido el error **UnrecognizedClientException: The Access Key ID or security token is invalid.** al ejcutar el comando **sls offline start**, para solucionarlo, debemos: * Auditar los paquetes con el comando **npm audit fix --force** esto auditará todos los paquetes y dependencias de npm. * Una vez que termine de auditar, podemos volver a ejecutar el comando **sls offline start**. * Sí todo ha salido ok, el servicio debió levantarse correctamente. Este problema puede ocurrir por: * El Access Key ID y Secret Access Key son incorrectos. * Las credenciales ya no son validas. * El usuario no tiene permisos, esto se puede chequear en IAM (Identity and Access Management) o usando el CLI con el comando **aws iam list-user-policies --user-name \<user-name>** * Problemas con el SDK de AWS.
Estoy cansado de estos cursos desactualizados
Si no les funciona en windows usando PowerShell: `sls --help` Ejecuten el siguiente comando para remover el alias y se soluciona: `Remove-Item alias:sls`

Me agrada mucho que el profesor dedicara una clase completa a la instrucción de instalación de los softwares que se usarán a lo largo del curso. Hay bastantes estudiantes que estarán usando alguna de estas herramientas por primera vez :smile

Es impresionante que con la capacidad de tener control de versiones, el maestro entregue un curso tan defectuoso
Ante el error Serverless Framework install sls error: "cmdlet Select-String at command pipeline position 1 Supply values for the following parameters: Path\[0] " El error que estás experimentando al intentar instalar Serverless Framework con el comando `sls` en PowerShell se debe a un conflicto con un alias predeterminado de PowerShell. PowerShell tiene un cmdlet llamado `Select-String` que también se abrevia como `sls`. Cuando intentas ejecutar `sls`, PowerShell intenta ejecutar `Select-String` en lugar del comando de Serverless Framework. Para resolver este problema, tienes algunas opciones: 1\. \*\*Usar el nombre completo del comando\*\*: Puedes evitar el conflicto utilizando el nombre completo del comando de Serverless Framework: ```bash serverless ``` Por ejemplo, para desplegar, usarías: ```bash serverless deploy ``` 2\. \*\*Eliminar el alias de PowerShell\*\*: Si prefieres seguir utilizando `sls`, puedes eliminar el alias de PowerShell ejecutando el siguiente comando en tu sesión de PowerShell: ```powershell Remove-Item alias:sls ``` Ten en cuenta que esto solo afectará a la sesión actual de PowerShell. Si deseas eliminar el alias permanentemente, tendrás que agregar ese comando a tu perfil de PowerShell. 3\. \*\*Usar otro alias para Serverless Framework\*\*: En versiones más recientes de Serverless Framework, se ha introducido un alias secundario `slss` que puedes usar sin conflictos en PowerShell: ```bash slss ``` Estas soluciones deberían permitirte utilizar Serverless Framework en PowerShell sin problemas¹².
Si te sale **Error getting DynamoDb local latest tar.gz location undefined: 403** lo resolvi de la siguiente manera: \- Editar el archivo \*\*node\_modules/dynamodb-localhost/dynamodb/config.json\*\*, editar la propiedad \*\*download\_url\*\* colocandole la URL donde se encuentra alojado actualmente el archivo \*\*dynamodb\_local\_latest.tar.gz\*\*. \- Se puede obtener la ultima URL de alojamiento ingresando a está \[página]\(https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.DownloadingAndRunning.html). \- Una vez que ingresamos a la página, podemos elegir la versión a descargar de \*\*Download DynamoDB local\*\* \- Click en la versión deseada para abrir la lista desplegable. \- Una vez abierta la lista desplegable, en la sección \*\*Download Links\*\* podremos copiar el enlace directo de la ultima locación del archivo. \- Clic derecho y copiamos el enlace. \- Nos dirigimos al archivo \*\*node\_modules/dynamodb-localhost/dynamodb/config.json\*\* y pegamos la nueva URL en la propiedad \*\*download\_url\*\*. \- Luego nos vamos a \*\*node\_modules/dynamodb-localhost/dynamodb/installer.js\*\* y reemplzamos el módulo \*\*http\*\* por \*\*https\*\* en las importaciones.

Por otro lado, en caso de tener este otro error luego de iniciar el servidor dynamodb y consultar el endpoint GET user (Febrero/2024):

Server ready: http ://localhost:3000 🚀


GET /dev/users/1 (λ: get-users)
(node:7328) NOTE: We are formalizing our plans to enter AWS SDK for JavaScript (v2) into maintenance mode in 2023.

Please migrate your code to use AWS SDK for JavaScript (v3).
For more information, check the migration guide at https://a.co/7PzMCcy
(Use `node --trace-warnings ...` to show where the warning was created)
× Unhandled exception in handler 'get-users'.
× UnrecognizedClientException: The Access Key ID or security token is invalid.

Se debe migrar al AWS SDK 3 con este comando, especificando la ruta donde esta nuestro serverless-framework:

npx aws-sdk-js-codemod -t v2-to-v3 C:\Users\user\serverless-framework

pueden usar algo como https://github.com/nvm-sh/nvm para manejar varias versiones de node si lo necesitan

Ademas de cambiar la URL de descarga para DynamoDb deben cambiar el protocolo por HTTPS en el archivo install.js

"use strict";

var tar = require("tar"),
  zlib = require("zlib"),
  path = require("path"),
  https = require("https"),
  fs = require("fs"),
  ProgressBar = require("progress"),
  utils = require("./utils");

var download = function(downloadUrl, installPath, callback) {
  console.log(
    `Started downloading dynamodb-local from ${downloadUrl} into ${installPath}. Process may take few minutes.`
  );
  https
    .get(downloadUrl, function(response) {
      var len = parseInt(response.headers["content-length"], 10),
        bar = new ProgressBar(
          "Downloading dynamodb-local [:bar] :percent :etas",
          {
            complete: "=",
            incomplete: " ",
            width: 40,
            total: len
          }
        );

Todo estaba cnfigurado 😃

A fecha de hoy, 28 de noviembre del 2024, hay muchos errores en el proceso de instalación, Serverless framework cambió los comandos y se torna muy difícil avanzar. Creo que tendré que abandonar el curso :(
Acabo de hacer un fork del proyecto con las configuraciones necesarias para que no de error y documentado todo el proceso para su configuración en caso de requerir. Les dejo el link del repositorio: <https://github.com/paulosk8/serverless-framework>
Imposible avanzar, he solucionado al menos 4 errores y no he podido empezar.
actualicen el curso por favor
Tengo windows 11 e hice toda la configuración tal como muestra el video, hice el ajuste de la url como lo menciona @Pablo Ortiz sin embargo recibo el siguiente error ![](D:\Pictures\Screenshots\Captura%de%pantalla%2024-09-13%050355.png)`Started downloading dynamodb-local from `[`https://s3.us-west-2.amazonaws.com/dynamodb-local/dynamodb_local_latest.tar.gz`](https://s3.us-west-2.amazonaws.com/dynamodb-local/dynamodb_local_latest.tar.gz)` into D:\Desktop\Cursos\ServerLess\Repositorios\serverless-framework\.dynamodb. Process may take few minutes.` `Environment: win32, node 20.17.0, framework 3.39.0 (local), plugin 7.2.3, SDK 4.5.1` `Docs: docs.serverless.com` `Support: forum.serverless.com` `Bugs: github.com/serverless/serverless/issues` `Error:` `Error: Error configuring or installing Dynamodb local TypeError [ERR_INVALID_PROTOCOL]: Protocol "https:" not supported. Expected "http:"` ` at Object.install (D:\Desktop\Cursos\ServerLess\Repositorios\serverless-framework\node_modules\dynamodb-localhost\dynamodb\installer.js:72:11)` ` at Object.install (D:\Desktop\Cursos\ServerLess\Repositorios\serverless-framework\node_modules\dynamodb-localhost\index.js:14:19)` ` at D:\Desktop\Cursos\ServerLess\Repositorios\serverless-framework\node_modules\serverless-dynamodb-local\index.js:241:57` ` at Promise._execute (D:\Desktop\Cursos\ServerLess\Repositorios\serverless-framework\node_modules\bluebird\js\release\debuggability.js:384:9)` ` at Promise._resolveFromExecutor (D:\Desktop\Cursos\ServerLess\Repositorios\serverless-framework\node_modules\bluebird\js\release\promise.js:518:18)` ` at new Promise (D:\Desktop\Cursos\ServerLess\Repositorios\serverless-framework\node_modules\bluebird\js\release\promise.js:103:10)` ` at ServerlessDynamodbLocal.installHandler (D:\Desktop\Cursos\ServerLess\Repositorios\serverless-framework\node_modules\serverless-dynamodb-local\index.js:241:16)` ` at PluginManager.runHooks (D:\Desktop\Cursos\ServerLess\Repositorios\serverless-framework\node_modules\serverless\lib\classes\plugin-manager.js:530:15)` ` at PluginManager.invoke (D:\Desktop\Cursos\ServerLess\Repositorios\serverless-framework\node_modules\serverless\lib\classes\plugin-manager.js:564:20)` ` at async PluginManager.run (D:\Desktop\Cursos\ServerLess\Repositorios\serverless-framework\node_modules\serverless\lib\classes\plugin-manager.js:604:7)` ` at async Serverless.run (D:\Desktop\Cursos\ServerLess\Repositorios\serverless-framework\node_modules\serverless\lib\serverless.js:179:5)` ` at async D:\Desktop\Cursos\ServerLess\Repositorios\serverless-framework\node_modules\serverless\scripts\serverless.js:819:9` Luego de ejecutar el comando "sls dynamodb install" alguien sabe que solución se puede realizar
Cuando vayan a insertar sus credenciales de aws en el archivo handler.js tengan en cuenta modificar el archivo correcto. Ya que en mi caso la carpeta del proyecto tenía varios archivos con el mismo nombre, por lo cual daba error de credenciales al momento de realizar la petición GET
**tengo el sigueinte erro**r: <u>Error:</u> UnknownEndpoint: Inaccessible host: `localhost' at port `8000'. This service may not be available in the `localhost' region.
estuvo complejo la instalación por que permanecia el error (403) pero se logro solucionar la perseveracia hace que todo salga como se quiere

En caso de tener este error (Febrero/2024):

C:\Users\user\serverless-framework>sls offline start
Running "serverless" from node_modules
(node:3664) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
Dynamodb Local Started, Visit: http: // localhost:8000 /shell
UnrecognizedClientException: The Access Key ID or security token is invalid.: DynamoDB - Error -
Environment: win32, node 21.6.1, framework 3.38.0 (local) 3.38.0v (global), plugin 7.2.0, SDK 4.5.1
Docs:        docs.serverless.com
Support:     forum.serverless.com
Bugs:        github.com / serverless / serverless/issues

Error:
UnrecognizedClientException: The Access Key ID or security token is invalid. 

Me sirvió esta solución:
https://stackoverflow.com/a/76608752/17748598
Espero les sirva!

Like si viste el "Moto viajero cali colombia"
fix Error: Error configuring or installing Dynamodb local TypeError npm uninstall serverless-dynamodb-local npm i serverless-dynamodb

La siguiente guia me sirvio para solucionar el problema con dynamodb:

First, make sure you have Java JDK & JRE (Java Runtime Engine) version 6.x or newer is installed on your machine since it is required by the Local DynamoDB.

Usually error gets fixed by executing the following set of commands:

  npm remove serverless-dynamodb-local
  npm install serverless-dynamodb-local@0.2.35
  sls dynamodb install

If you want to use versions after 0.2.26 make sure to execute the following command instead of sls dynamodb install:

sls dynamodb install --localPath ./bin

After you have installed the Local DynamoDB, you can start it by executing the following command:

sls offline start

If DynamoDB Offline is still not running, it might be failing to do so because port 8000 is already in use. You can run DynamoDB Offline on a different port by specifying -p option to the sls offline start command like so:

sls dynamodb start -p 8000

Link referencia: https://dynobase.dev/dynamodb-errors/unable-to-start-dynamodb-local-process/

en este paso tuve un error de codigo a la hora de ejecutar el comando sls dynamodb install, esto me dice en mi cmd "Running "serverless" from node_modules Started downloading dynamodb-local from http://s3-us-west-2.amazonaws.com/dynamodb-local/dynamodb_local_latest.tar.gz into C:\Users\crash\serverless-framework\.dynamodb. Process may take few minutes.

Ruta :
serverless-framework/node_modules/.pnpm/[email protected]/node_modules/dynamodb-localhost/dynamodb/installer.js

Yo les recomiendo fervientemente que instalen los versión manager de cada lenguaje, asi no se vuelven un 8 saltando de versiones de lenguajes.

cabe destacar que en windows da muchos problemas, asi que lo mejor trabajar desde una instancia Windows Linux subsystem (WLS) asi tienen un lindo sandbox de desarrollo

En mi caso particular ( en windows 11 enterprise) , me salia este error:

serverless dynamodb start  
Running "serverless" from node_modules

UnknownError: 404: DynamoDB - Error - 
Environment: win32, node 14.21.3, framework 3.30.0 (local) 3.28.1v (global), plugin 6.2.3, SDK 4.3.2
Docs:        docs.serverless.com
Support:     forum.serverless.com


Error:
UnknownError: 404

y la solucion fue cambiar el numero de puerto de dynamodb :8001

Si el comando sls no funciona, utilizá:

serverless --help 

Para MAC Serverless:
(En la terminal) --> sudo npm install -g serverless