我试图学习Alexa技能编程,作为其中的一部分,我在亚马逊开发人员门户网站和相应的AWS Lambda函数中设置了一个技能界面。该技能运行良好,但我对Lambda函数的安全方面有一个问题。我已经选择Alexa技能工具包作为Lambda函数的触发器,并且正在将请求中的应用程序标识与技能的应用程序标识进行比较,以验证请求是针对该函数的。(https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/handling-requests-sent-by-alexa)。
但是即使这样,我如何限制Lambda函数被另一个了解Lambda arn的技能调用?这不能被滥用来浪费计算资源吗?
ARN对你来说是完全保密的,你可以决定是否触发另一个触发器。如果仍要限制,可以在IAM中创建自定义角色,并将该角色分配给lambda。只有那些具有特定角色的触发器才能执行lambda。
AWS lambda函数仪表板中新增了一个复选框,当为Alexa设备创建角色时,该复选框允许您仅为特定技能应用程序锁定lambda函数,方法是勾选复选框并输入技能ARN。lambda函数仅可由该应用程序调用。前面提到的包含alexa的方法。appId=APP_ID;lambda函数调用中的变量是第二个安全检查,因此建议使用这两种方法。
你已经回答了你自己的问题。因为你在lambda函数中检查这个特定的Alexa技能ID,所以从其他任何地方调用它几乎是不可能的。exmple:
exports.handler = function(event, context, callback){
var alexa = Alexa.handler(event, context, callback);
// security so this set APP_ID from this specific Alexa skill is the onlly one that can execute this code
alexa.appId = APP_ID;
alexa.registerHandlers(handlers);
alexa.execute();
};
其中,APP_ID是您的特定Alexa技能的ID,该技能仅具有执行此功能的权限。
希望这能帮助你前进。
我刚刚创建了我的第一个(定制)蒸馏器。我上传了一个包含索引的zip文件,在Lambda中设置了这个函数。js和所有必需的代码,包括node_模块和基本的Alexa技能,我的孩子(根据教程)。我确保我压缩了文件和子文件夹,而不是文件夹本身(正如我所见,这是导致类似错误的常见原因),但当我用一个示例话语在网络工具中创建技能和测试时,我得到: 无法调用远程终结点,或者它返回的响应无效。 我不知道如何调试
我正在使用Node red实现智能家居Alexa技能。我按照一组教程学习了t(教程)。然而,当我去链接账户时,我得到了可怕的“我们此时无法链接” 为了追查这个问题,我在很多方面来回奔波。以下是我到目前为止确认的情况: Alexa应用程序可以打开我的身份验证URL 以下是我使用的重定向URL: 我遵循以下教程来帮助调试问题: Alexa调试教程 设置云形成 对于cloud formation one
问题内容: 我正在尝试构建一个在一致的条件下运行代码段的系统,我想这可能的一种方式是在具有相同布局的docker容器中运行各种程序,保留相同数量的内存,等等。但是,我似乎无法弄清楚如何保持CPU使用率一致。 我似乎可以找到的最接近的东西是“ cpu共享”,如果我了解文档,它会限制cpu的使用,限制系统上正在运行的其他容器/其他进程以及系统上的可用资源。它们似乎无法将容器限制为绝对的CPU使用量。
当技能处于开发阶段时,我可以在开发控制台中调用它。在Echo或Amazon Alexa应用程序中,该技能无法调用。 技能在技能之下显现 有人知道如何解决这个问题吗?
问题内容: 我如何从elasticsearch中获取所有结果,因为结果仅显示限制为10。我有一个查询,像: 我已将限制设置为15,但我不想使其无限,以便我可以获取所有数据,因为我的数据不断变化,并且我想获取所有数据,所以我无法设置限制。 问题答案: 您可以使用和参数浏览所有数据。这可能非常慢,具体取决于您的数据以及索引中有多少。 http://www.elastic.co/guide/zh-CN/
我们正在研究使用GoogleOAuthAPI进行帐户链接的Alexa技巧。Alexa技能的一切都很好。 现在,当我们使用帐户链接使用谷歌帐户。在OAuth同意屏幕上,当Google API应用程序类型选择为internal时,会显示正确的详细信息,即选择一个帐户继续{Application Name}。但是当应用程序类型被选择为Public时,它会显示错误的详细信息,即选择一个帐户继续{amazo