问题标签 [openwhisk]

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 回答
181 浏览

node.js - 有人知道 IBM OpenWhisk 和 Cors 设置吗?

我有以下问题。当通过 API 网关运行我的 openWhisk 函数时,一切都很好。也将其称为跨域请求效果很好。

但我需要用凭据调用它,似乎没有选择这样做。

我尝试了什么:

  1. 仅启用 API CORS 设置,函数本身没有任何标头
  2. 在 API 中启用 cors 并且在函数中也有 CORS 标头 -> 函数中的相关标头(访问源)被覆盖!
  3. 在 API 中禁用 CORS 并在函数中包含 CORS 标头 -> 函数的相关标头(访问源)被删除

这是通常应该工作的代码:

如果有人有想法会很棒,因为支持人员已经好几天没有回答我的问题了。

谢谢,最好的,安德烈

0 投票
4 回答
1121 浏览

openwhisk - 创建了 openwhisk 操作,但在来宾中显示为私有 java,因此无法调用它

尝试按照指示,我使用以下命令在 vagrant 图像中创建了一个动作(例如,在 vagrant ssh 之后):

我可以看到它是创建的:

但是 guest 没有被列为一个包:

并尝试通过 curl 调用操作失败并出现身份验证错误,但这似乎与请求标头无关。相反,我猜这与我注册的操作的私有 Java 特性有关。我相信这是因为我不能使用 wsk 命令来显示我注册的操作的摘要信息:

在注册我的操作时,首先创建一个包然后使用该包的正确顺序是否正确?

感谢您提供的任何建议。

0 投票
1 回答
54 浏览

java - OpenWhisk 操作打开文件获取文件未找到异常,但文件存在

在 vagrant VM 中通过 wsk 命令测试我的操作时,它成功获取了参数,但是在尝试打开文件时它抛出:

但是,当我列出文件时,它就在那里:

OpenWhisk(在本地运行)是否对允许打开文件的位置有沙盒限制?我的操作是 Java 操作,我正在尝试打开 FileReader。

引用的所有目录都归 vagrant:vagrant 所有,并且对所有目录都具有读取权限。

0 投票
1 回答
81 浏览

message-hub - OpenWhisk 消息包 - messageHubProduce 不稳定

我正在尝试使用“whisk.system/messaging”并尝试使用方法 messageHubProduce。

我创建了一个绑定到这个包,并尝试使用邮递员的简单调用。使用文档,我创建了一个简单的json并进行了调用,但是该方法确实不稳定。相同的调用有时会返回成功,有时会返回超时,有时会返回“没有可用的代理”。我现在这段代码的实现是在 python 上的。有没有人和我一样的症状?

这是我要发送的信息。

{ "topic": "mytopic", "value": "MyMessage", "blocking": false } 这些是同一个调用的结果

messageHubProduce 446d59eb816b4b34a52374a6a24f3efe { "error": "The action exceeded its time limits of 60000 milliseconds." }

messageHubProduce 4213b6a495bc4c5aa7af9e299ddd8fcd { "success": true }

0 投票
3 回答
293 浏览

ibm-cloud - OpenWhisk 错误“操作产生的响应超出了允许的长度”

我有一个 OpenWhisk 操作(在 IBM Bluemix 上),它返回一个大的 json 文档。我收到一条错误消息,指出返回的文档大于 1048576 字节 (1MB)。有没有办法增加这个限制?

提前致谢——西蒙

0 投票
1 回答
76 浏览

swift - 跨 Swift OpenWhisk 操作共享代码

我正在 Swift 中尝试一些 OpenWhisk 操作。无论好坏,几乎所有 OpenWhisk 文档都是关于 javascript 的。在 javascript 中编写动作时,看起来您可以将代码打包为 npm 模块并将其要求/导入到任何动作中。使用 Swift,没有迹象表明有任何方法可以共享代码。我找到了一个示例项目(https://github.com/SwiftOnTheServer/DrinkChooser,来自不可估量的@rob-allen),它使用了在构建源代码文件之前对其进行预处理的巧妙技巧:

是否有官方方法可以跨操作共享代码?

非常感谢。

0 投票
1 回答
109 浏览

ibm-cloud - 如何在 Bluemix 中从 IoT 平台调用 OpenWhisk 操作

我们想知道如何在 Bluemix 中从 IoT 平台调用 OpenWhisk 操作。我们要完成的是:

  1. 从设备向物联网平台发送事件数据
  2. 订阅活动
  3. 调用 OpenWhisk 操作。

我们假设事件数据是 JSON 格式。我们知道我们可以开发一个订阅 IoT 平台上的事件的应用程序,例如:https ://console.bluemix.net/docs/services/IoT/applications/libraries/java.html#java 。但是,我们相信一定有更简单的方法。

如果我们查看 IoT 平台,我们可以创建一个动作,例如 IFTTT、Webhook 动作、将事件转发到云等。一般而言,您建议通过哪种方式从 IoT 平台调用 OpenWhisk 动作?

任何意见或建议都必须受到赞赏。谢谢你。

0 投票
2 回答
306 浏览

node.js - 回调问题 - 带有 Nodejs 运行时的 OpenWhisk

我正在 BlueMix OpenWHisk 中开发一个模块,在 Cloudant 提要更改后,我需要调用一个 url,它会在另一个平台上更新一些细节。我正在使用 nodejs 运行时。

请求是让我的操作等待 POST 请求的结果到上面提到的 url。如果 POST 成功,那么我应该执行下一个事件序列。

问题:

  1. 如何在执行下一个序列之前等待 POST 请求的结果?

  2. 是否可以等待并返回 POST 请求的结果。

发布我的代码

0 投票
1 回答
127 浏览

node.js - 我可以从 Bluemix Web UI 获取 OpenWhisk 授权令牌吗?

我已经部署了一个 OpenWhisk 操作,并通过request节点应用程序中的包成功调用了它。Authorization为了让事情正常工作,我必须在 HTTP 请求中传递一个标头。该标头的值是 base64 编码版本的userid:password.

我可以在命令行计算该值,也可以使用 wsk 命令的 -v 选项来获取它,但是我在 Bluemix Web UI 的任何地方都找不到它。我正在整理一些培训材料,如果我能提供帮助,我宁愿不将我的用户发送到命令行。

有人知道如何通过 Bluemix UI 获得这个值吗?如果它在那里,我还没有看到它。

0 投票
2 回答
128 浏览

openwhisk - 如何使用 openWhisk 转发器组合器围绕云操作转发参数

我有这种情况,我想在尝试注册时检查用户的电子邮件是否已被使用,并在这种情况下抛出错误“用户已存在”。

这是我的序列的样子:

Input action-> CloudnAnt EXE QUERY-Find-> Validate email action->CloudnAnt create User/Throw user already exists error action

我的 json 有效载荷如下所示: {email: 'blahblah@domain.com', pass: "pass"}

问题是我无法控制 cloudnant 预定义操作的输出,因此在第二个操作“CloudnAnt EXE QUERY-Find User with email action”之后我丢失了有效负载

在此处输入图像描述

有没有办法在整个序列中保持我的输入?前向组合器可以解决这个问题吗?