问题标签 [ibm-cloud-functions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
256 浏览

node.js - IBM 云功能与 Watson Conversation

这是我使用 Watson Conversation 的第一个项目。我的对话正常,所有 nodejs 都托管在 IBM Cloud 上。当我与 Facebook 和 Slack 集成时,对话的一部分不起作用——调用 IBM 云功能的部分。有趣的是,它可以在 Watson 内部和网站集成上运行,但在其他任何地方都没有。我已经尝试过 botkit 中间件,然后是对话连接器(https://github.com/watson-developer-cloud/conversation-connector)。在这两种情况下,都会返回上下文变量的名称而不是值。流程基本上是用户询问他们可以在哪里投票?Watson 提示输入数字,将其保存为对象 NRN,将其传递给云函数并定义结果变量 context.PollingStation。在子节点中,如果使用 $PollingStation.msg 进行注册,我会返回此人的信息,因为我的函数解析 {msg:output}。

Watson 对话:变量的正确输出 网站:变量的正确输出,格式为 Slack/Facebook:变量名称

帮助!

0 投票
1 回答
257 浏览

java - 如何检查 IBM Cloud Functions 中的 POST 正文?

我现在正在运行一些云功能,并希望查看由我的云功能处理的请求的有效负载(POST 正文)。

激活日志“仅”显示响应。

https://console.bluemix.net/openwhisk/dashboard

我是否应该自己在 Java 代码中记录它是否有 CLI 中的选项来获取此数据?

0 投票
1 回答
374 浏览

ibm-cloud - 如何将 IBM Cloud Functions (OpenWhisk) 连接到自定义域?

我过去使用 IBM Cloud Functions 成功设置了一个自定义域,但现在它似乎突然坏了。

以下是我过去的做法:首先需要在 IBM Cloud 中安装 SSL 证书,方法是:

  1. 登录到 IBM Cloud
  2. 转到管理>帐户>Cloud Foundry 组织
  3. 单击您的组织,然后单击编辑组织
  4. 选择选项卡,添加域,然后安装由letsencrypt.org 免费购买或获得的SSL 证书
  5. 通过单击汉堡菜单转到 Cloud Functions 页面,然后单击Functions
  6. 单击侧边栏上的API
  7. 选择要映射到域的现有 API。
  8. 从边栏中选择定义
  9. 为 API选择域并将其更改为您的新域!

是的,IBM Cloud 说它现在正在连接您的自定义域。您会收到有关如何花费一些时间的警告,但任务永远不会完成

这实际上直到大约一个月前才起作用。现在它只是坐在那里,它不会将您的域路由到您的 API。

如果你点击你被路由的站点,它会说:

我错过了什么吗?还是 IBM 又一次对我下手了。

0 投票
2 回答
212 浏览

java - IBM Cloud Functions CORS 支持的性能差异

我正在向我的 OpenWhisk/IBM Cloud 功能添加 CORS 支持。但是在对函数进行修改(-a web-custom-options true)之后,我注意到性能下降了。为了隔离这个问题,我创建了一个简单的函数,见下文:

有两种情况 1. .http 端点和 web-custom-options true 2. .json 端点和 web-custom-options false

正如您从屏幕截图中看到的,OPTIONS 的差异很大,但 POST 回复的差异也很明显。我可以做些什么来获得 CORS 的一些性能支持吗?我在 JAVA 代码中做错了吗?

在此处输入图像描述 在此处输入图像描述

0 投票
0 回答
282 浏览

node.js - 使用 Node.js 和 Cloud Function 构建 Watson Assistant 操作时缺少对话参数

我正在尝试使用 Watson Assistant 和 Node.js 构建一个 IBM Chatbot。首先,为了熟悉生态系统,尝试基于示例应用程序制作一个非常简单的聊天机器人text-bot-openwhisk

https://github.com/watson-developer-cloud/text-bot-openwhisk

我设法重新创建了对话流、必要的操作和云功能,并将它们部署到云中。

我尝试根据本文从对话节点进行编程调用:

https://console.bluemix.net/docs/services/conversation/dialog-actions.html#dialog-actions

基本上我试图复制getWeather.js上述示例应用程序的操作。

问题是动作的主要功能没有接收到conversation属性,所以assert(params.conversation.context, 'params.conversation.context can not be null');断言总是触发。

为了接收conversation参数,我应该改变什么?

0 投票
1 回答
52 浏览

ibm-cloud - 如何在云函数 API 端点上 FORCE_HTTPS

我已经配置了一个自定义域和证书,​​并将云功能 api 连接到我的操作,这工作正常。

端点通过 https 和 http 工作。

但我只想强制执行 https。静态构建包中的“FORCE_HTTPS:true”之类的东西。有什么办法可以做到这一点吗?

0 投票
1 回答
427 浏览

authentication - 从 Watson Assistant 调用英国的 IBM Cloud Function 给出:提供的身份验证无效

我收到此错误:

提供的身份验证无效

当我们从 Watson Assistant(也在英国)中的对话节点调用在英国区域运行的 IBM Cloud Function 时

奇怪的是,当我们调用在美国南部运行的云函数时,(使用不同的凭据)它运行良好。

从 PostMan 调用云函数(英国实例)也可以正常工作。

与 PostMan 的不同之处在于,我们提供了完整的端点 URL。

在 Watson Assistant 对话节点中,我们“仅”提供“命名空间”之后的部分。由于名称的限制为 64 个字符,我们无法提供完整的 URL。我怀疑 Watson Assistant 运行时首先尝试 US-South(即使它在英国运行),当它找到一个命名空间时,它会尝试访问这个命名空间?!但这只是一个想法...

现在我们可以在美国(南部)使用云功能,但我正在寻找一种方法让它也适用于英国?

- - 更新 - - 在此处输入图像描述

0 投票
2 回答
291 浏览

python - OpenWhisk Python 操作失败,未返回字典错误

我正在尝试使用 OpenWhisk 运行此功能:

具有以下内容:

在本地运行该函数时,会返回一个字典,但运行上述代码会出现此错误:

我在这里想念什么?

0 投票
1 回答
467 浏览

serverless - Openwhisk:分布式设置的扩展问题

我在一些虚拟机器上设置了分布式 openwhisk 安装,如此处所述https://github.com/apache/incubator-openwhisk/blob/master/ansible/README_DISTRIBUTED.md(还必须手动安装一些对 VM 的依赖项,因为它们是预期但默认未安装)。

我的主机文件如下所示:

总的来说,一切似乎都运行良好,我可以创建动作、调用它们等。

在托管调用程序和控制器的两个 VM 上,我打开 htop 以检查 CPU 使用情况,并尝试并行运行多次调用相同操作(素数计算需要时间来获得足够大的输入)的 python 脚本。

结果似乎是第一个调用程序在计算发生时在 100% CPU 上工作,而第二个调用程序仍在 5-7% CPU 上空闲。我还尝试了在多个 VM 之间分配组件的不同方法,例如在两台机器上设置调用程序,在另一台机器上分别设置一个控制器,但结果是相同的。

这可能是什么原因?什么是让 Openwhisk 让第二个调用者参与其中的正确用例?

0 投票
1 回答
314 浏览

ibm-cloud - 如何将 Botkit 中间件与 Watson Assistant 对话服务器操作结合使用?

我按照本教程使用 Watson Assistant 部署了一个 Slackbot。本教程使用对话框中的服务器操作直接与数据库交互。要将 Slack 与 Watson Assistant 连接起来,本教程使用了对话连接器。这很好用,但我对如何使用 Botkit 和Watson Developer Cloud 提供的 Botkit 中间件做同样的事情很感兴趣。

如何使用无服务器操作,如何获取和传递必要的 API 密钥?