J’ai une application mobile développée avec node.js express. Je l’ai essayé pour le déployer en tant que service lambda. Pour cela, j’ai créé un projet Framework sans serveur ( https://github.com/serverless ). Auparavant, je testais l’application mobile localement en démarrant l’application backend express. Maintenant, je ne trouve pas de méthode pour tester mon application mobile localement sans backend local. jaws run
command jaws run
seulement une fois que je l’ai appelé.
Existe-t-il une méthode permettant de démarrer la fonction lambda en tant que service Web? Ou existe-t-il une alternative au Framework sans serveur?
Il ne semble pas qu’il y ait moyen de le faire pour le moment, mais la version 1.4.0 est sur le point d’être publiée et devrait, entre autres, inclure une nouvelle commande “jaws serve” qui devrait résoudre votre problème.
Voici le PR: https://github.com/jaws-framework/JAWS/pull/269
UPDATE: vous pouvez maintenant utiliser le nouveau plugin serverless-serve pour cela.
UPDATE 2: serverless-serve n’a pas été mis à jour depuis longtemps, il semble que serverless-offline soit une bien meilleure option pour émuler les fonctions Lambda.
Je ne sais pas si cette question est toujours pertinente ou non, mais j’utilise DEEP Framework pour tester le code localement et / ou le déployer sur AWS Lambda. Regarde ça:
npm install deepify -g deepify run-lambda --help [email protected] - Run Lambda function locally Usage example: deepify run-lambda path/to/the/lambda -e='{"Name":"John Doe"}' Arguments: path: The path to the Lambda (directory of handler itself) Options: --event|-e: JSON ssortingng used as the Lambda payload --skip-frontend-build|-f: Skip picking up _build path from the microservices Frontend --db-server|-l: Local DynamoDB server implementation (ex. LocalDynamo, Dynalite) --version|-v: Prints command version --help|-h: Prints command help
Divulgation: Je suis l’un des consortingbuteurs à ce cadre
Le plugin Bespoken sevrerless rend votre Lambda local accessible de l’extérieur. Il est très utile à la fois pour les tests locaux avec Postman et pour les services Webhook (comme Alexa, Slack, Twilio, etc.).
L’architecture est montrée ici:
Pour l’utiliser, il vous suffit d’installer le plugin, puis d’exécuter:
sls proxy
Vous pouvez ensuite commencer à envoyer des demandes à votre service localement:
Nous pensons que c’est un outil très utile pour tester avec serverless.
Comme 1.4 n’est pas encore sorti …
La semaine dernière, j’avais besoin de la même chose. J’ai donc créé un petit serveur fictif pouvant être exécuté localement: https://github.com/martinlindenberg/JawsLocalServer
À compter de la date de cette publication, vous pouvez exécuter des fonctions localement en effectuant la sls function run [name-of-function]
. Tout JSON utilisé dans event.json
votre fonction sera passé à votre fonction.
Pour tester vos points de terminaison, vous pouvez également utiliser Serverless Offline, une serverless-serve
projet serverless-serve
.
C’est peut-être trop tard .. Mais maintenant, vous pouvez essayer Serverless-Offline ( https://www.npmjs.com/package/serverless-offline ) fonctionne à merveille
C’est aussi la page github correspondante ( https://github.com/dherault/serverless-offline )
Vous pouvez maintenant utiliser lambda-local .
Installez-le comme ceci:
sudo -H npm install -g lambda-local
Ajoutez vos parameters en tant qu’object JSON à un fichier, dans cet exemple, event.json
, et appelez le fichier index.js
comme index.js
:
lambda-local -l index.js -h handler -e event.json