amazon-web-services - 如何在没有 AWS 的情况下在私有(private)网络中运行 Amazon Echo

标签 amazon-web-services alexa-skills-kit

我正在尝试将 Amazon Echo 用于我公司内的一个公用事业项目。我有一堆 Intranet 站点,我打算从中收集信息并开发自定义技能以让用户查询数据。但是需要将客户端 jar(我使用的是 java)上传到 AWS 以创建 Lambda 函数,然后才能使用该自定义技能。这不起作用,因为我的 jar 需要使用这些 Intranet 系统中的 web 服务。

有没有办法在不使用 AWS 的情况下在私有(private)网络中运行 Echo?我试图在 Internet/stackoverflow 上找到任何相关信息,但找不到。

最佳答案

您可以在 Lambda 或可公开访问的网络上使用终端节点创建自定义技能。所以你在这里有几个选择。

1)您可以在 Lambda 上发展您的技能,并在您的公司防火墙中打开一个(适当安全的)网关,以允许访问您需要的 Intranet 资源。

2) 将您的技能开发为 Web 服务(使用 Java、Python、node.js 或其他语言)并将其托管在您的公司内部网中。然后在您的公司防火墙中打开一个(适当安全的)网关,以使该端点可公开访问。把你的技能指向那个。

2a) 创建与 SSL 认证有关的 Web 端点有很多复杂性。许多人(包括我自己)采取的一条路线是创建一个 proxy service in Lambda .您将技能指向 Lambda,然后将 Lambda 指向您的 Web 服务。

您在这方面的成功将主要取决于您与企业 IT 合作在防火墙中打开漏洞的紧密程度。如果你在一家大公司,那可能很难。但是,如果您需要实时访问内部 Web 服务,确实没有任何办法。

关于amazon-web-services - 如何在没有 AWS 的情况下在私有(private)网络中运行 Amazon Echo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37981362/

相关文章:

amazon-web-services - 如何使用 Elastic Beanstalk CLI 更改 AWS 账户

amazon-web-services - Elastic Beanstalk上托管的Dockerized PHP应用程序中的错误 “python: not found”

node.js - 亚马逊 AWS Lambda Alexa HTTP 获取问题

node.js - 需要能够在 AWS Lambda 中编辑 ZIP 文件

node.js - Node.js 中的 GraphQL 查询返回 AWS CloudWatch 错误 "Unable to import module ' 索引'"

alexa - 安装 ASK-CLI 后如何修复 'bash: ask: command not found' 错误?

node.js - 使用嵌套的 async.forEachSeries 和 async.waterfall 来控制 Lambda Node.js 代码的排序

javascript - 我如何在 forEach 中使用 set timeout 和 promise/dynamoDB delete?

amazon-web-services - AWS Cloudformation - 挂载到现有文件系统

azure - 将 EC2 从 AWS 迁移到 Azure