Articles of 无服务器框架

无服务器:dynamodb删除条件

我正在尝试删除带有条件的logging,并且失败。 我不断收到此错误: The provided key element does not match the schema 。 这是我在yml中的定义: resources: Resources: vuelosTable: Type: 'AWS::DynamoDB::Table' DeletionPolicy: Delete Properties: AttributeDefinitions: – AttributeName: id AttributeType: S – AttributeName: vuelta AttributeType: S KeySchema: – AttributeName: id KeyType: HASH – AttributeName: vuelta KeyType: RANGE ProvisionedThroughput: ReadCapacityUnits: 1 WriteCapacityUnits: 1 TableName: ${self:provider.environment.DYNAMODB_TABLE} 这些是试图删除时的参数: params = { RequestItems: […]

通过REST进行原生Kubeless调用

我想提交一个函数(通过HTTP触发器)从一个NodeJS进程kubeless,但我不想使用JavaScript等效 curl –data '{"term":"Albemarle"}' localhost:8080/api/v1/proxy/namespaces/default/services/bikesearch/ –header "Content-Type:application/json" 因为这需要我知道运行该function的服务的实际IP地址。 我希望能够通过知道函数的名称来访问kubeless api,从而给我提供了间接的级别 kubeless function call bikesearch –data '{"term":"Albemarle"}' 有无论如何通过节点访问上述(函数调用)API?

无服务器 – 离线可选path参数

我试图设置一个可选参数的GET请求,但我得到一个错误,当我没有可选参数本地调用url。 它在lambda网上工作正常。 我做错了什么? 我正在使用serverless-offline插件版本3.16.0使用无服务器版本1.24.1 这里是我在serverless.yml中的请求定义: functions: getitems: handler: lambda.handler events: – http: path: item/store/{storeid}/{itemstatus} method: get cors: true request: parameters: paths: storeid: true itemstatus: false 这个url的作品: http://localhost:3000/item/store/123456/used 这不 http://localhost:3000/item/store/123456 并给我这个输出 { statusCode: 404, error: "Serverless-offline: route not found.", currentRoute: "get – /item/store/123456", existingRoutes: [ "get – item/store/{storeid}/{itemstatus}" ] } 非常感谢

启动AWS Serverless Framework无法安装Starter示例

我想运行无服务器框架以用于我的AWS解决scheme。 但是样本启动器没有正确安装,为什么? $serverless project install serverless-starter /usr/local/lib/node_modules/serverless/bin/serverless:5 let argv = require('minimist')(process.argv.slice(2)); ^^^ SyntaxError: Unexpected strict mode reserved word at exports.runInThisContext (vm.js:73:16) at Module._compile (module.js:443:25) at Object.Module._extensions..js (module.js:478:10) at Module.load (module.js:355:32) at Function.Module._load (module.js:310:12) at Function.Module.runMain (module.js:501:10) at startup (node.js:129:16) at node.js:814:3

无法在macosx上安装无服务器框架

其实我无法在我的Mac上安装无服务器。 以下是关于我的configuration的一些信息: OSX优胜美地10.10.5 node.js 6.2.10 npm 3.10.10 启动安装serveless的命令: sudo npm -g install serverless 结果: /usr/local/bin/serverless -> /usr/local/lib/node_modules/serverless/bin/serverless /usr/local/bin/slss -> /usr/local/lib/node_modules/serverless/bin/serverless /usr/local/bin/sls -> /usr/local/lib/node_modules/serverless/bin/serverless serverless@1.11.0 postinstall /usr/local/lib/node_modules/serverless node ./scripts/postinstall.js Unhandled rejection SyntaxError: Unexpected token \ in JSON at position 1 at Object.parse (native) at exports.parse (/usr/local/lib/node_modules/serverless/node_modules/rc/lib/utils.js:15:17) at addConfigFile (/usr/local/lib/node_modules/serverless/node_modules/rc/index.js:31:20) at Array.forEach (native) at module.exports (/usr/local/lib/node_modules/serverless/node_modules/rc/index.js:44:36) at […]

使用Azure无服务器函数req.body返回HTML

Azure Blob存储中有一些TIF文件。 我想通过embedded在电子表格中的链接在浏览器中显示它们。 最简单的方法应该是将文件代码作为请求参数,并返回格式正确的HTML,对吧? 所以现在我已经得到了一些HTML的req.body。 不幸的是,HTML只是在浏览器中显示为一个string。 我如何使它尽可能呈现为HTML格式? 这是我的代码: if (req.query.blob) { let blob = req.query.blob; context.res = { // status: 200, /* Defaults to 200 */ body: `<object width=200 height=200 data="<baseaddress>/${blob}.tif" type="image/tiff"> <param name="src" value="<baseaddress>/${blob}.tif"> <param name="negative" value="yes"> </object>` }; }

Lambda /无服务器内联需求与头部需求

背景 我正在使用AWS Lambda和API Gateway构buildAPI。 而不是将每个API端点分成单独的lambda函数,而是将它们包装到单个库中,并使用aws-serverless-express库。 题 鉴于从内存使用的angular度来看,只有一部分整个API可以用于单个Lambda执行(为了降低成本),在以下几点之间还是有区别的: var myModule = require("mymodule"); … function handleSomething1() { myModule.doSomething(); } function handleSomething2() { … } 要么 function handleSomething() { require("mymodule").doSomething(); } function handleSomething2() { … } 因此,举例来说,一个API请求可能会导致在handleSomething2 Lambda函数之前,只handleSomething2 。 在这种情况下,我们通过调用var myModule = require("mymodule");有效地浪费内存var myModule = require("mymodule"); 顶部? 我想更直接的问题是,当我var myModule = require("mymodule")是否node.js运行时真的为myModule分配内存在那一刻? 或者,直到我真的用myModule 做了什么之后,它才真正成为一个myModule ?

由DynamoDB支持的NodeJS lambda函数的inputvalidation

我想知道哪个库用于validationlambda函数中的用户input,例如使用无服务器框架,NodeJS lambda函数和DynamoDB作为NoSQL存储。 特别是,是否有NodeJS的库可以检测和validation潜在的DynamoDB注入向量 ? 我做了一些研究,并提出了一些在NodeJS中进行validation的可能性,但是我没有find任何有关使用DynamoDB NoSQL注入validation的有关NodeJS的有用信息: 纯Javascript // lambda function handler module.exports.handler = (event, context, callback) => { const data = JSON.parse(event.body); if (data.text && typeof data.text !== 'string') { // validation failure } } 穰 钒节点 (使用Joi) validation-JS (当然,这个列表并不完整,但它似乎是NodeJS最受欢迎的validation库。) 有没有你知道的库,它处理DynamoDB的NoSQL注入检测,或者是否有关于使用这些库(2-4)之一处理NoSQL注入向量的更多信息?

在无服务器的lambda中返回HTTP错误代码的正确方法是什么?

我有一个无服务器的lambda函数写在Node.JS. 什么是最好的/正确的方式返回错误代码? 我现在使用的模式( 它工作! )是: module.exports.endpoint = (event, context, callback) => { const response = { statusCode: 404, body: JSON.stringify({ message: 'Hello World!' }) }; callback(null, response); } 当我打电话时,例如从POSTMAN到我的端点,我得到: Status: 404 Not Found这正是我所期待的 。 而且,在日志中我可以看到: Serverless: GET / (λ: get) Serverless: [404] {"statusCode":404,"body":"{\"message\":\"Hello World!\"}"} 那效果很好。 令我困扰的是,我将null作为错误传递给了我。 看看其他一些教程/例子,我发现如下模式: https://aws.amazon.com/blogs/compute/error-handling-patterns-in-amazon-api-gateway-and-aws-lambda/ https://serverless.com/framework/docs/providers/aws/events/apigateway/ callback ("the sky is falling!"); callback("[BadRequest] […]

我如何检查Openwhisk被调用?

我有一个Web应用程序将数据上传到一个Cloudant数据库。 更改事件应触发OpenWhisk激活或操作。 如何检查OpenWhisk是否被调用,是否有debugging机制? 我试过使用仪表板,但有什么我可以在命令行上使用? 我正在尝试node.js和Docker操作,所以如果解决scheme与node.js,Swift或Docker容器中的操作无关,那将是非常好的。