Je suis à jouer avec l'Cloudformation sans serveur de Transformation, et je suis à essayer de comprendre comment et quand utiliser AWS::Serverless::Function
ou AWS::Lambda::Function
. Pour une raison Lambda version est utilisée pour SAM exemples dans AWS. C'est très déroutant. SAM github. Et puis il y a aussi l' servlerless
- cadre elle-même, qui est vraiment un nodejs
- cadre. Tout ça est arriver, je suis extrêmement confus.
Réponses
Trop de publicités?Tout d'abord, laissez-moi vous expliquer chacun de ces.
AWS sans serveur Pile - Une combinaison de AWS offert sans serveur de technologies, notamment l'API Gateway, Lambda, S3 et etc.
Lorsque Lambda a d'abord été introduit, il a été difficile de développer sans serveur d'applications à l'aide de ces technologies à l'aide de Cloudformation. Le problème était dû à la complexité de l'écriture Cloudformation pour la Passerelle API et Lambda.
C'est là sans serveur Cadre d'origine.
Sans serveur Framework Open Source DevOps cadre qui simplifie la définition de la Passerelle API et Lambda à l'aide d'un simple fichier appelé sans serveur.yml. Depuis sans serveur Framework utilise des conventions sur des configurations, il ne nécessite que quelques lignes de code pour définir Lambda, Passerelle API et etc. Sous sans serveur Framework génère Cloudformation basé sur ce qui est défini dans sans serveur.yml. En outre, sans serveur Cadre de Multiples Fournisseurs de services en Nuage.
Plus tard, AWS mis en place leur propre simplifié langage de script appelé AWS SAM(Note: AWS SAM n'est pas un Framework comme sans serveur avec les plugins et le support de l'extension dès maintenant), afin de réduire la complexité dans la définition de CloudFormation comme une alternative au Cadre sans serveur.
AWS::Lambda::Function
est le Cloudformation syntaxe pour définir une fonction Lambda.
AWS::Serverless::Function
est AWS SAM syntaxe pour définir une fonction Lambda qui crée en interne une fonction Lambda dans Cloudformation (AWS::Lambda::Function
) et des ressources connexes, par convention, lors de l'exécution d'AWS SAM.
AWS::Serverless::Function
est pour quand il est utilisé avec AWS SAM, alors qu' AWS::Lambda::Function
est pour une utilisation avec la plaine Cloudformation. Ils sont essentiellement à la fois la modélisation des fonctions Lambda, mais c'est juste pour différents cadres, ce qui par conséquent ont des noms différents plus ou moins la même chose.
Conceptuellement, il n'y a pas de différence entre une sans serveur ou une fonction Lambda. Sans serveur est le terme générique pour ce AWS appels Lambda (et de la Passerelle API).
Le cadre sans serveur est alors un projet de logiciel qui s'appuie sur sans serveur principes, et qui peut fonctionner avec AWS Lambda (parmi d'autres). C'est vraiment pas très différent des autres cadres tels un Calice ou Zappa (à la fois basé sur Python, sans serveur de cadres qui s'exécutent sur AWS Lambda).