繁体   English   中英

AWS + API网关+ Lambda + Node.js在Google上的操作ApiAiApp

[英]AWS + API Gateway + Lambda + Node.js actions-on-google ApiAiApp

我想在通过API网关调用的Lambda函数中使用Google动作包和ApiAiApp类。 所有管道都可以正常工作,并且我可以返回手动构建的响应,但是我真的更喜欢在Node.js Lambda函数中使用ApiAiApp对象。

我还可以使用Firebase托管该功能,使其正常运行。

请原谅我对这种类型的开发的无知,但是似乎没有任何搜索方法可以为我提供所需的解决方案。

Firebase的入口点是

exports.myTip = functions.https.onRequest((request, response) => {

我可以将请求+响应传递给ApiAiApp构造函数,一切都很好

就像在Lambda一样

exports.handler = function(event, context, callback)

我如何将事件转换为请求+响应,以便在lambda函数中调用相同的ApiAppApp构造函数?

TL:DR-如何在Lambda函数中调用Google Actions-on-Google ApiAiApp构造函数?

似乎您可以使用awslabs / aws-serverless-express创建ApiAiApp期望的类似Express的请求/响应对象。

嗯,这看起来不像我最初想象的那样有用。 似乎您更想做类似Express Express的结果/响应之类的事情。 我看到了一些模块( lykmapipo / mock-express-response )。

您可以设置API-Gateway集成在此处的显示方式,从而向您发出请求。 然后,您的小羊可能看起来像这样:

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的东西,而不是面向用户的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM