Tag: framework

无服务器框架中的webpackconfiguration中的多个入口点

我正在开发使用无服务器框架的无服务器应用程序。 我需要webpack编译根文件夹内的.js文件以及'src'文件夹。 configuration文件和“src”文件夹就在根文件夹中。 这是webpack.config.js文件 var glob = require('glob'); var path = require('path'); var nodeExternals = require('webpack-node-externals'); // Required for Create React App Babel transform process.env.NODE_ENV = 'production'; module.exports = { // Use all js files in project root (except // the webpack config) as an entry entry: globEntries('!(webpack.config).js'), target: 'node', // Since 'aws-sdk' is not […]

在无服务器的yml中将angular色添加为CloudFormation模板

我想从另外一个lambda调用lambda,从这个答案的例子: Nodejs – 从另一个lambda函数中调用AWS.Lambda函数 答案说,这两个lambda函数应具有AWSLambdaExecute和AWSLambdaBasicExecutionRole权限。 使用无服务器,如何将这两个angular色添加到serverless.yml中的CloudFormation模板?

无服务器框架:如何使用CloudFormation进行部署?

我是无服务器框架的新手。 那么,至less到最新的版本,这在很大程度上取决于CloudFormation。 我在我的计算机上使用以下方法全局安装框架 npm install -g serverless 然后我创build了一个服务使用: serverless create –template aws-nodejs –path myService 最后,我跑了: serverless deploy 一切似乎正常部署,它显示在terminal没有错误。 我可以在新创build的专用S3存储桶中看到CloudFormation文件。 但是,我无法在AWS Lambda控制台中find默认的“ hello Lambda函数。 我错过了什么? CloudFormation文件是否应该在部署时创buildLambda函数?

用无服务器正确实现babel

在我们的项目中,我们最近决定,对于某些实现,es6 +函数使我们的生活变得更加简单。 然而,这个“更容易”并没有被babel与无服务器结合的翻译。 项目结构如下: + |- serverless.yaml |- package.json |- .babelrc |- /src |- handler.js |- package.json |- /test |- test.js 这显示了整个项目文件夹。 以下是各个文件的源代码。 serverless.yaml provider: name: aws runtime: nodejs6.10 functions: getHello: handler: handler.lambdaGetHello events: – http: path: api/hello method: GET authorizer: aws_iam cors: true package: include: – handler.js – node_modules/** package.json(顶层,请注意,这可能有太多的包,实际的代码有更多的用法,但清理这可能是为了) { "name": "Default-package-JSON-file", "version": […]

如何使用构造函数和依赖关系来testing无服务器的lambda函数?

如何在构造函数中存储构造函数以传递对构造对象的期望? 我正在使用无服务器,我有一个lambda函数具有依赖关系,并通过计划的事件每分钟运行。 我想专注于lambda函数的行为,所以我想我的一个testing如下 – >它从消息队列中取消消息。 testing将validation我的队列已经收到一个函数dequeueMessages – 就是这样。 这里是我的示例lambda: module.exports = function(event, context, callback) { var queue = new Queue(); queue.dequeueMessages(params).then(messages => { var client = new DataFetcher(); return client.fetchData(messages).then(data => { var database = new Database(); return database.persist(data); }) } } 我知道那里还有其他的依赖关系,但是我只想把重点放在获得第一个testing通过上,而我正在努力用new Queue来断言构造的对象队列调用了#dequeueMessages。 我已经探索过了 ,现在有了摩卡和柴的testing,但我不知道如何把所有的工具放在一起做这个非常简单的testing。

如何在dynamoDB中返回插入的项目

我使用nodeJS sdk把项目放到dynamoDB,项目是: { "eventId": date + '-' + eventName + '-' + eventPurpose, "eventName": eventName, "eventPurpose": eventPurpose, "eventDates": eventDates, "attendees": attendees } 将这个项目放在dynamoDB中的代码: const params = { TableName: "event", Item: { "eventId": date + '-' + eventName + '-' + eventPurpose, "eventName": eventName, "eventPurpose": eventPurpose, "eventDates": eventDates, "attendees": attendees }, ReturnValues: "ALL_OLD" }; dynamo.put(params, (err, […]

具有无服务器的MoonMail Lambda架构

我一直在研究这个项目,因为让整个系统成为Lambda函数集合的想法看起来非常有吸引力。 事实上,几年前我写了一些和MoonMail几乎完全相同的软件,而且随着一些规格的变化,这些软件也会有所更新。 我正在评估将我的软件移植到Lambda,或者只是适应使用MoonMail。 我有以下问题: 在使用无服务器的testing中,我注意到当我更改资源名称(如DynamoDb表的名称)并重新部署时,没有任何警告,旧表及其内容被破坏。 我认为一个简单的错误就像configuration文件中的一个额外的字符导致删除数据库上的所有数据是相当危险的。 你如何处理这类问题? 关于通过SES发送电子邮件。 当您达到特定帐户的发送限制时,您如何处理限制? 你做指数退避? 我似乎无法在代码库中find这个。 如果您能在回购的一般区域指出我的位置,我将非常感激。