问题标签 [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 投票
1 回答
549 浏览

ibm-cloud - 在 Watson Assistant 中处理来自 IBM Cloud Function 的多个答案

我需要在 Watson Assistant 对话节点中显示未知数量的按钮。按钮的数据来自 IBM Cloud Function。

如果我在节点中手动设置响应类型“选项”答案,则 JSON 对象如下所示:

我的云函数可以使用 x 无选项创建此 JSON。但是如何在 Google 助理中使用这些数据?

最简单的方法是让云函数生成完整的 JSON,然后像这样输出返回的 JSON:

..但这是不允许的。

从我的函数生成的输出对象:

关于如何做到这一点的任何建议?

0 投票
1 回答
297 浏览

sql - IBM Cloud Functions:尝试连接到 DB2 时出现 SQL 语法错误

我在 IbM Cloud Fucntions 中创建了一个动作来将数据插入 DB2。

我使用 IBM 提供的凭据声明变量 DSN。

我收到了这个错误:

消息:“[IBM][CLI Driver] CLI0199E 无效的连接字符串属性。SQLSTATE=08001”

这是我用来插入数据的代码:

我希望连接并插入数据。

任何人都可以帮忙吗?

0 投票
1 回答
276 浏览

python-3.x - 将 virtualenv 上传到 IBM Cloud Functions 时如何修复 ModuleNotFoundError?

我正在尝试使用安装了 opencv 的 virtualenv 将函数上传到 IBM Cloud Functions。但是,当我尝试在 IBM Cloud 中运行该操作时,它会显示:

我为此使用了 python:3.7 运行时。我认为这是一个库问题,因为此运行时使用 Debian Stretch,而且我之前在导入带有 python:3-slim-strech docker 映像的 opencv 时遇到问题,因为它没有一些必需的库,如 libsm6、libxext6 和 libxrender。

但是,当我在IBM 用于其 python:3.7 运行时apt listdocker 映像中运行时,它包含了这些库。

我使用此处显示的 docker 方法创建了 virtualenv 我使用的确切命令如下:

我使用 --no-deps 是因为运行时已经安装了 numpy,这是 opencv 的唯一依赖项,并且因为包含 numpy 的 zip 文件超过了 48MB 的限制,无法将其上传到 Cloud Functions。

我应该能够毫无问题地导入 cv2,但我仍然收到上一条消息。任何帮助都会很棒!

0 投票
1 回答
722 浏览

python - 如何在 IBM Cloud 函数中运行 docker 映像?

我有一个想要在 IBM Cloud 函数中运行的简单 Python 程序。唉,它需要两个库(O365 和 PySnow),所以我必须对它进行 Dockerize 化,并且它需要能够接受来自 STDIN 的 Json 提要。我成功地做到了:

这运行:cat env_var.json | docker run -i f9bf70b8fc89

我已将 Docker 容器添加到 IBM Cloud Functions,如下所示:

ibmcloud fn action create e2t-bridge --docker [username]/e2t-bridge

但是,当我运行它时,它会超时。

现在我确实看到了一个可能的解决方案路线,我将它作为一个 Openwhisk 应用程序进行 dockerize。但是为此我需要从我的 Python 应用程序创建一个二进制文件,然后将其加载到一个相当复杂的 Openwhisk 框架中,我想?

但是拥有一个可以简单运行的文件是我的 Docker 的重点,因此创建解释语言的二进制文件然后将其添加到 Openwhisk docker 中感觉非常笨重。

解决这个问题的最佳方法是什么?

0 投票
0 回答
69 浏览

python - Openwhisk Docker 与 IBM 云 CLI 的行为与其前端不同

我想在 IBM 云函数上运行我的 Python 程序,因为这需要在 OpenWhisk Docker 中完成。我已经更改了我的代码,以便它接受一个 json:

我可以从终端运行它:

python main/main.py '{"INSTANCE_NAME": "example"}'

我已使用此 Dockerfile 将此 Python 程序添加到 OpenWhisk:

但是现在,如果我使用 IBM Cloud CLI 运行它,我只会取回我的 Json:

如果我使用相同的 Json 提要从 IBM Cloud Functions 网站运行,我会收到一个错误,就像它根本不存在一样。

代码在直接调用而不是从 OpenWhisk 容器中运行时会出现什么问题?

0 投票
1 回答
793 浏览

python-3.x - 使用 IBM Cloud Function 的 REST API 时如何修复“错误”:“'parameter_name'”?

我在 IBM Cloud Functions 中有一个动作,它只接收一个参数:“frame”。我正在使用 Postman 测试随操作提供的 REST API 端点。但是,当我提供“框架”参数时,它返回以下内容:

我在 IBM Cloud Functions 控制台中调用此操作时遇到了此问题。我通过删除输入模式中的空格并再次添加它来解决它,然后它就像控制台中的魅力一样工作。但是,我不能对 HTTP 请求做同样的事情。

我目前执行 HTTP 请求的方式是这样的:

该操作应该返回我期望的结果,但它现在没有这样做。请帮助我,任何答案都会很棒!

编辑:

这是动作的代码:

这是激活响应(根据 Postman,返回的状态是 502 Bad Gateway):

编辑 2:我还尝试将其作为网络操作启用,以查看它是否会改变任何内容。然而,这没有用。当我使用这个 HTTP 请求时:

我得到:

这是可以理解的,因为我的函数返回的是 json。但是,当我使用这个HTTP 请求时:

我得到:

我真的不知道在这里做什么

0 投票
1 回答
350 浏览

ibm-cloud - IBM Cloud Functions“无法拉取容器映像”

我有一个要在 IBM Cloud Functions (OpenWhisk) 中运行的 docker 容器,因为我不希望该容器可公开访问,我想将它存储在 IBM Cloud Container Registry 中。为了让 OpenWhisk 能够访问它,我按照本教程解决了类似的问题:Access IAM-based services from IBM Cloud Functions

总结一下步骤:

  1. 为函数创建 IAM 命名空间
  2. 授予对容器注册表的命名空间访问权限

IAM 命名空间

但遗憾的是,这并没有解决问题,我仍然得到Failed to pull container image 'uk.icr.io/hvdveer/e2t-bridge:0.1.4'. 而且我真的找不到任何可以配置 API 密钥或其他东西的地方。

我怎样才能让它工作?

0 投票
0 回答
127 浏览

db2 - 有人可以帮助解决以下 IBM Watson Assistant 错误:Lite org is not allowed to provision non-lite plan

我有一个使用 Watson Assistant 界面创建的聊天机器人。我想将我的聊天机器人连接到数据库。我做了一些研究,发现我可以使用云功能将我的机器人连接到数据库

(我正在按照以下步骤将我的机器人连接到数据库:https ://cloud.ibm.com/docs/tutorials?topic=solution-tutorials-slack-chatbot-database-watson&cm_mc_uid=95784327520315578879847&cm_mc_sid_50200000=3769550156106&_025662c 87569701561065937701)。

话虽如此,我正在使用 Powershell 并在其中传递以下命令," ibmcloud service create dashDB Entry eventDB". 通过时,我收到以下错误

“服务器错误,状态代码:502,错误代码:10001,消息:服务代理错误:Lite 组织不允许提供非精简计划”。

请注意,我使用的是 Lite 计划,但是当我收到此错误时,我将计划更新为试用 Plus 计划 30 天,但问题仍然存在。

有人可以请教。

  • -将帐户更新为从 Lite 到 Plus 计划。
  • - 在 cli 中更改我的区域

我不知道预期的结果,但我知道接下来我想做什么。我要传递的下一个命令是:'ibmcloud service key-create eventDB slackbotkey'

0 投票
1 回答
152 浏览

ibm-cloud - IBM 云功能的自定义日志记录

我们想知道如何启用对 IBM 云功能的自定义日志记录,到目前为止,我们曾经在 IBM Cloud Log Analysis Service 中查看日志,该服务在 IBM 云中默认启用,现在它在 7 月中旬被弃用。

我们想向 IBM 云功能添加额外的日志记录,请告诉我们如何做到这一点。

0 投票
1 回答
108 浏览

ibm-cloud - 将 CLI 用于具有 IAM 命名空间的云功能时出错

我正在尝试从一些 python 代码创建一个 IBM Cloud Function Web 操作。此代码具有不在运行时中的依赖项,因此我按照此处的步骤将依赖项与我的代码打包在一起。我现在需要使用此处描述的步骤在云上为此包创建操作。我有几个问题。

首先是我想检查这是否会进入正确的命名空间。但是,虽然我有几个,但当我这样做时没有一个出现ibmcloud fn namespace list,我只是得到带有标题的空表。我检查了我使用的是正确的区域ibmcloud target -r eu-gb

第二个是,当我尝试通过使用从命令行创建命名空间来绕过上述问题时ibmcloud fn namespace create nyNamespaceName,它可以工作,但是我随后检查了 Web UI,并且这个新命名空间是在达拉斯地区而不是伦敦地区创建的...由于某种原因,我似乎无法让它在我当前定位的区域中创建命名空间,它总是达拉斯。

第三个问题是,当我尝试从这里开始执行步骤 2 和 3 时,接受它将最终进入不需要的达拉斯命名空间,通过运行等效的ibmcloud fn action create demo/hello <filepath>/hello.js --web true,它一直告诉我我需要定位一个组织和一个空间. 但是我的命名空间是一个 IAM 命名空间,它没有组织和空间,所以没有什么可以提供的?

如果我遗漏了一些明显的东西或误解了一些东西,请告诉我,因为对我来说,感觉 CLI 不尊重区域的目标并且没有正确处理 IAM 内容。

编辑:按照建议添加代码,但是此代码在本地运行良好,这是我正在努力解决的 CLI 部分吗?