AWS + API网关+ Lambda + Node.js操作对谷歌ApiAiApp
我想在API网关调用的Lambda函数中使用action-on-google包和ApiAiApp类。 所有的pipe道工作正常,我可以返回一个手动构build的响应罚款,但我真的更喜欢在我的Node.js Lambda函数中使用ApiAiApp对象。
我也可以使用Firebase来正常工作。
请原谅我对这种发展的无知,但是没有一种search方式似乎给了我需要的解决scheme。
Firebase的入口点是
exports.myTip = functions.https.onRequest((request, response) => {
我可以将请求+响应传递给ApiAiApp构造函数,而且都很好
就像在Lambda中一样
exports.handler = function(event, context, callback)
如何将事件转换为请求+响应,以便在lambda函数中调用相同的ApiAppApp构造函数?
TL:DR – 我如何在Lambda函数中调用对ApiAiApp构造函数的操作?
似乎可以使用awslabs / aws-serverless-express来创buildApiAiApp期望的类似Express的请求/响应对象。
呃,那个起初看起来并不像我想的那样有用。 看起来更像是你想要做类似快车般的结果/回应。 我看到一些模块( lykmapipo / mock-express-response )。
你可以设置你的API-网关集成如何显示在这里 ,这给你的要求。 那么你的羔羊可能看起来像这样:
const MockExpressResponse = require('mock-express-response'); exports.handler = (event, context, callback) => { const response = new MockExpressResponse({ request: event, }); const app = new ApiAiApp({ request: event, response }); // do stuff with app callback(null, response._getString()); };
Idk,永远漂浮你的船。 不可否认的是,我不知道有关APIAiApp或在Lambda上运行Express,我的小羊都是API的东西,而不是面向用户。