@architect/plugin-lambda-invoker
以任意事件在建筑师 Sandbox 中交互引用 Lambdas
安装
进入您现有的建筑师项目 :
npm i @architect/plugin-lambda-invoker --save-dev
在您的建筑师项目列表中添加以下内容( 通常是) app.arc:
@plugins
architect/plugin-lambda-invoker
使用量
国 际
沙盒运行时, 类型 i 在你的终端 提出蓝巴达引用菜单。 然后选择你想引用的兰布达.
默认情况下, 此插件会将您的菜单全部填充 @events, (中文(简体) ), @queues, (中文(简体) ), @scheduled,以及 @tables-streams; 您可以将以下设置添加到一个 pref[erence]s.arc 文件 :
@sandbox
invoker http scheduled # This would populate @http + @scheduled Lambdas, and ignore all others
提示: 您可以通过输入数字( 零 索引) 来浏览引用菜单 !
程序化
插件还经过 沙盒引用器 用于方案(例如在试验环境中)。 这种方法只有在Sandbox完成初始化后才能使用.
let sandbox = require('@architect/sandbox')
let invokerPlugin = require('@architect/plugin-lambda-invoker')
await sandbox.start()
await invokerPlugin.invoke({
pragma: 'scheduled',
name: 'my-scheduled-event',
payload: { ok: true },
})
await sandbox.end()
召集嘲笑
默认情况下,Lambdas与空有效载荷一起被援引(b{}如果你想用任意的有效载荷引用你的Lambdas, 创建一个包含引用模拟的文件.
调用模拟文件在您根中使用其中的一个文件名 : sandbox-invoke-mocks.json 或者说 sandbox-invoke-mocks.js。这些文件的结构应当这样:
假设该项目清单:
@events
background-task
@queues
analytics
@scheduled
backup-database
@tables-streams
tableName
如果你想在以上三个 Lambda 中增加一个或多个模拟器,请创建以下 sandbox-invoke-mocks.js (或等同的JSON)文件格式 [pragmaName][lambdaName][mockName]数字 :
module.exports = {
events: {
'background-task': {
'my-first-mock': { /* payload */ },
'another-mock': { /* payload */ },
}
},
queues: {
analytics: {
'one-more-mock': { /* payload */ },
'just-a-mock': { /* payload */ },
}
},
scheduled: {
'backup-database': {
'a-mock-for-this': { /* payload */ },
'the-last-mock': { /* payload */ },
}
},
'tables-streams':{
tableName:{
INSERT:{ /* payload */ },
MODIFY:{ /* payload */ },
REMOVE:{ /* payload */ },
}
}
}
提示: 当使用时
sandbox-invoke-mocks.js,可以在启动时动态(同步)生成模拟器
