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. Invierte en tu educación con el precio especial

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

10 Días
21 Hrs
47 Min
13 Seg

Iniciar proyecto con Serverless Framework

9/25
Recursos

Aportes 19

Preguntas 9

Ordenar por:

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

Si tienes errores al momento de hacer el deployment, necesitas que tu usuario de AWS tenga los siguientes permisos, los puedes configurar wn AWS console dentro del servicio IAM.

AmazonAPIGatewayAdministrator
AmazonS3FullAccess
AWSCloudFormationFullAccess
AWSLambda_FullAccess
CloudWatchLogsFullAccess
IAMFullAccess

Siempre cambio los nombres para saber si estoy entendiendo como se conecta cada archivo, así quedó mi handles.js

const hello = async (event, context) => {
  return {
    statusCode: 200,
    body: JSON.stringify({ message: "Hello World - Serverless Framework AWS" }),
  };
};

module.exports = {
  hello,
};

Y así quedo mi serverless.yml :

service: hello-world

provider:
  name: aws
  runtime: nodejs18.x

functions:
  hello-world:
    handler: handler.hello
    events:
      - http:
          path: hello
          method: GET

Hola. También funciona actualmente el siguiente comando:

npx serverless

Si a la hora de hacer el deploy les tira error, deben de configurar su cuenta aws con el comando:

aws confgure

Deben de proporcionar su AWS Access key ID y AWS Secret Access Key.
Esas claves las pueden generar luego de crear un usuario en IAM

Deberían de eliminar este curso o actualizarlo, ya no es compatible con la version 4 de Serverless Framework ![](https://static.platzi.com/media/user_upload/image-ea29e0ef-bb16-42bf-883f-12892442873a.jpg)
A dia de hoy, no se soporta el runtime nodejs nodejs14.x, habria que actualizarlo en el archivo serverless.yml para usar una version nueva de node (nodejs20.x por ejemplo)
La instrucción: `serverless create --path hola-mundo --template-url `[`https://github.com/platzi/serverless-framework/tree/main/hola-mundo`](https://github.com/platzi/serverless-framework/tree/main/hola-mundo) Me genera este error: ![](https://static.platzi.com/media/user_upload/image-a5379fa9-2186-4982-a65f-4cffd443324c.jpg)

Iniciar proyecto con Serverless Framework

El objetivo es crear la primera aplicación serverless(hola mundo) se siguen los siguientes pasos:

  1. Se crea una carpeta en donde se almacenaran los archivos del proyecto

  2. Crear el proyecto desde consola invocando el comando de serverless framework (serverless o sls abreviado) si se seleciona una plantilla de la lista se crea un nuevo proyecto desde esa plantilla, para ver la ayuda ssl help. Con el siguiente comando se crea un proyecto basado en una plantilla en github, tambien se indica su path.

    serverless create --path hola-mundo --template-url https://github.com/platzi/serverless-framework/tree/main/hola-mundo
    
  3. Se crea la estructura de archivos y cada uno tiene su sentido:

    1. package.json: son las dependencias que se usan en el proyecto, y las descripciones generales. Similar a un proyecto estándar de node.js. Tiene la dependencia del paquete serverless en la versión 3.21.0.
    2. handler.js: desarrollado para este ejemplo en javascript es la función lambda principal. Es una arrow function asincrona que recibe un evento y un contexto. Esta función retorna un objeto json con código de estado 200 en el body.
    3. serverless.yaml: Tiene las secciones de servicio con el nombre del proyecto, el provider en donde se indica el nombre aws en este caso y el runtime que es node.js en la versión 14 y en la seccion de functions se hace referencia a la funcion definida en el handler.js indicando como evento que va a tener un http de tipo get y que apunta a hello, el evento indica cuando se va invocar la función lambda.

Desplegar la Aplicación

En la carpeta donde se encuentra el archivo serverless.yaml ejecutar el comando de despliegue

cd hola_mundo
sls deploy

Es importante mencionar que el cliente de AWS debe estar configurado a nivel global para poder hacer el despliegue

al finalizar se muestra la ruta que se definió en los recursos del archivo serverless.yaml

Para solucionar el error ```js ✖ Configuration file not found in directory ```Instale: ```js npm i [email protected] -g ```Y me funciono.
Hola con todos, me quedo en la ejecución de este comando, y me muestra el siguiente mensaje: ![](https://static.platzi.com/media/user_upload/image-3e61e7ae-8fcf-44fd-9b04-f90d18f9c41e.jpg) Llevo varios días trabado aquí, si alguien me puede ayudar por favor
La instrucción: serverless create --path hola-mundo --template-url <https://github.com/platzi/serverless-framework/tree/main/hola-mundo> Me genera este error: ![](https://static.platzi.com/media/user_upload/image-a5379fa9-2186-4982-a65f-4cffd443324c.jpg)
El comando ```js serverless create --path hola-mundo --template-url https://github.com/platzi/serverless-framework/tree/main/hola-mundo ```Me genera este error: ![](https://static.platzi.com/media/user_upload/image-a5379fa9-2186-4982-a65f-4cffd443324c.jpg)
Está Vivo! ![](https://static.platzi.com/media/user_upload/Screen%20Shot%202024-05-14%20at%2022.06.52-e1fc16ee-1d72-4552-b051-55a1684e05eb.jpg)
![](https://static.platzi.com/media/user_upload/Screen%20Shot%202024-05-14%20at%2022.06.52-f91fb879-366e-4aae-89c5-3e6d38a9a03f.jpg)Está vivo! ![](https://static.platzi.com/media/user_upload/Screen%20Shot%202024-05-14%20at%2022.06.33-06717c7f-5ca9-43a9-813e-43253403add5.jpg)
Me arroja un error 403 al momento que trato de utilizar el endpoint generado. En postman la respuesta muestra el mensaje "Forbidden". ¿Alguien podría ayudarme qué puede estar pasando? He tratado de seguir todos los pasos y ya he desplegado el proyecto 2 veces.

En mi caso ya tenia un archivo con una configuración por defecto para el aws cli. El cual uso para mi trabajo.
Para dejar ese archivo sin modificar y seguir con el curso con mis credenciales de mi cuenta personal, utilice el siguiente comando:

sls config credentials --overwrite --provider aws --key [IAM key] --secret [IAM secret]
Eureka!!! Funciona!!!

Comando para clonar el proyecto “hola-mundo”

sls create --path hola-mundo --template-url https://github.com/platzi/serverl
ess-framework/tree/main/hola-mundo