web-dev-qa-db-fra.com

Sans serveur: comment supprimer une fonction

J'utilise sans serveur pour déployer mon API sur AWS.

En sans serveur, il permet de déployer une seule fonction:

sls deploy -f <function name>

Mais cela ne permet pas de supprimer une seule fonction:

sls remove // will remove all functions.

Existe-t-il un moyen de supprimer une seule fonction qui n'aura pas d'impact sur d'autres fonctions?

10
Phong Vu

@ justin.m.chase a suggéré:

Supprimez simplement la fonction dans serverless.yml, puis exécutez le déploiement complet

sls deploy

la fonction est supprimée (Lambda + API Gateway). Perfecto!

15
Phong Vu

Je sais que cette question a plus d'un an et a été fermée, mais la bonne façon de supprimer une seule fonction est de la spécifier par son nom que vous aviez presque:

sls remove -f <function name>

0
Azkuma

Comme l'a dit Peter Pham, supprimez la fonction de serverless.yml et effectuez une opération complète:

sls deploy

Si vous essayez de supprimer la fonction manuellement dans AWS, cela provoque beaucoup de maux de tête.

0
Lane Wagner

Je sais que c'est un peu vieux, mais la douleur de déploiement sans serveur est toujours une chose.

J'ai récemment développé une cli qui permet de construire des microservices dans AWS, en tirant parti d'AWS sam cli (d'où le nom de la cli: Rocketsam ).

Le cli permet la mise en cache par fonction (plus de déploiement complet vers le microservice si un seul code de fonction a changé). Il a également des fonctionnalités supplémentaires telles que le fractionnement du fichier modèle par fonction, le partage de code entre les fonctions, la récupération des journaux et plus :)

https://www.npmjs.com/package/rocketsam

Actuellement, le cli prend en charge la création de fonctions dans python 3.6 uniquement, mais peut être facilement étendu à l'avenir en fonction de la demande.

0
Nadav96