问题标签 [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 回答
980 浏览

python - 如何使 Python Docker 映像成为 OpenWhisk 操作?

我有一个运行 Python 程序的 Docker 映像。我现在想将此容器作为 OpenWhisk 操作运行。我该怎么做呢?

我见过其他编程语言中的几个示例,以及 C 和 Node.js 中出色的黑盒框架方法。但我想更多地了解 OpenWhisk 如何与容器交互,如果可能的话,只使用 Python。

0 投票
1 回答
201 浏览

ibm-cloud - 如何在 Bluemix 中使用 OpenWhisk 设置 docker 操作?

我在 Bluemix 上测试 OpenWhisk。我想做的非常非常简单。我有一个有效的 js 脚本(它只是一个 console.log)。我有一个 Dockerfile 正在制作一个 docker .. 当我运行我的 docker 时,我可以看到我的 console.log \o/(我知道这太棒了)

然后我创建我的动作......我尝试从 Bluemix UI 运行它,我得到了这个:

未能调用操作 XXX/XXXX:容器哈希或名称应在makeContainer.

这到底是什么意思?我在上面找不到任何东西。

ps:如果你知道我在哪里可以找到一些关于如何使用 docker 容器进行操作的真实文档,我会非常高兴 :)。

非常感谢你的帮助。

编辑:最后的问题是我试图从一个私人码头回购。我不得不说错误信息不是明确的 x)。谢谢你的帮助。

0 投票
1 回答
65 浏览

ibm-cloud - openwhisk 教程之后的错误消息

我正在关注以下教程:https ://new-console.ng.bluemix.net/docs/openwhisk/openwhisk_actions.html

教程第 3 步的问题:

复制粘贴命令:

wsk action invoke --blocking --result hello --param name 'Bernie' --param place 'Washington, DC'

得到错误:

运行教程的前面步骤很好

0 投票
1 回答
434 浏览

ibm-cloud - 在 OpenWhisk 中创建包操作,调用失败并显示错误消息

我正在按照 OpenWhisk 文档中的示例创建一个新的包操作,详见此处

运行该wsk action invoke步骤,平台向我返回一条调用错误消息。

怎么了?

0 投票
2 回答
153 浏览

action - openwhisk中动作序列的调用流程是怎样的?

我对动作序列的调用流程有点困惑。我阅读了代码,它显示每个序列都有一个主动作,它调用该序列中的每个动作。在每次调用中,主要操作都会向 apihost 发布一个帖子,这是否意味着整个流程(从控制器->kafka->dispather->invoker->container)将一次又一次地进行?

0 投票
1 回答
193 浏览

ibm-cloud - 如何中断 OpenWhisk 中的序列流?

我正在 Cloudant 数据库上编写一个触发器,该触发器应将每个新文档转换为 Slack 通知。

我创建了两个动作序列:一个是准备 Slack 消息,一个是发送它。为了发送 Slack 消息,我使用了 IBM Bluemix OpenWhisk 提供的包操作。

Cloudant 更改提要 --> 准备文本 --> Slack Post --> 响应

由于触发器向我发送了所有 Cloudant 事件(新的/修改的/删除的文档),我怎么能只将 NEW 文档事件转发给 Slack 而忽略诸如已删除文档之类的事情。

0 投票
0 回答
51 浏览

python - 在已部署的 bluemix 应用程序上上传图像

我需要制作一个应用程序,它等待图像上传,然后执行一些代码来处理它,然后等待新图像。该应用程序必须部署在 bluemix 上并在那里持续运行。

我对网络编程一无所知,因此欢迎您推荐的所有文档。

我的主要问题是如何在我当前的应用程序中创建一个将替换它的 post 方法:

以及一种让应用程序重复执行此操作的方法。

0 投票
0 回答
735 浏览

ubuntu - 本地 Ubuntu 部署上的 OpenWhisk 操作失败

我根据以下文档在本地 Ubuntu 机器上部署了 OpenWhisk:https ://github.com/openwhisk/openwhisk/blob/master/tools/ubuntu-setup/README.md 。但是,当我尝试使用命令调用示例操作时:

我收到以下错误:

我将我的 apihost 设置为 172.17.0.1(Docker 边缘主机),并且我使用来自 ansible/files/auth.guest 的身份验证的来宾命名空间。我想一些服务应该在 Docker 中运行,以便它会在 443 端口上侦听,但我不知道哪些服务以及它们为什么没有运行。

如果有任何帮助,我将不胜感激。

0 投票
1 回答
2175 浏览

ibm-cloud - 在 APIConnect 中设置身份验证标头

我正在试验 APIConnect,并希望能够调用 OpenWhisk 操作。据我所知,为了做到这一点,我需要使用我的令牌设置 Authorization 标头。我在调用和代理策略下看到的唯一选项是使用基本身份验证。

不管 OpenWhisk 是什么,为了让 APIConnect 成为对我来说可用的产品,我需要能够设置标题。

0 投票
1 回答
282 浏览

ibm-cloud - 来自 OpenWhisk 的 cloudant 查询的安全性

我正在Bluemix 上构建一个带有Cloudant 数据存储的Angular SPA。

由于 OpenWhisk 的 Bluemix 实现不使用 VCAP 服务,因此我看到了 3 个选项来使用 OpenWhisk 作为我的 api 提供程序来为我的 Angular 应用程序进行云查询:

  1. 遵循此处所示的传递凭证模式:https ://github.com/IBM-Bluemix/openwhisk-visionapp (顺便说一句非常有趣的方法)
  2. 包括我在本地运行的凭据,如下所示:https ://github.com/IBM-Bluemix/nodejs-cloudant/blob/master/app.js
  3. 使用此处所示的 http API:https ://docs.cloudant.com/api.html (突出显示传递凭据的安全问题。

由于我的服务不是为了发布(它是为了我自己的应用程序),我认为选项 2 是我的“万恶之源”选择。我错过了什么吗?我的想法是,虽然对更改很脆弱,但它是最安全的,因为凭据不会公开传递。无服务器基础设施将不得不被黑客入侵......

提前致谢!

(冗长)更新:(提前道歉)

我已经走得更远了,但仍然没有答案 - 现在被困在执行中。

澄清一下,我的目标是让应用程序从 Angular Client -> OpenWhisk -> Cloudant 流出。

在这个最简单的用例中,我想传递一个 startTime 参数和一个 endTime 参数,让 OpenWhisk 获取该时间范围内的所有记录以及所有字段,然后传回选定的字段。在我的示例中,我有经过修改的 GeoJSON 格式的 USGS 地震数据。

根据以下文章中的信息,我得出结论,我可以调用 wsk 命令行操作并使用我在 Javascript 函数中设置的绑定,因此不会将我的凭据传递给数据库。这给了我一定程度的安全性(仍然质疑我的 OpenWhisk 操作的其余端点),但我认为,一旦我的示例运行起来,我就会考虑其中的那一部分。

我的命令行(有效): wsk action invoke /my@orgname.com_mybluemixspace/mycfAppName/exec-query-find --blocking --result --param dbname perils --param query {\"selector\":{\"_id\":{\"$gt\":0},\"properties.time\":{\"$gt\":1484190609500,\"$lt\":1484190609700}}}

这成功返回以下内容:
{ "docs": [ { "_id": "eq1484190609589", "_rev": "1-b4fe3de75d9c5efc0eb05df38f056a65", "dbSaveTime": 1.484191201099e+12, "fipsalpha": "AK", "fipsnumer": "02", "geometry": { "coordinates": [ -149.3691, 62.5456, 0 ], "type": "Point" }, "id": "ak15062242", "properties": { "alert": null, "cdi": null, "code": "15062242", "detail": "http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/ak15062242.geojson", "dmin": null, "felt": null, "gap": null, "ids": ",ak15062242,", "mag": 1.4, "magType": "ml", "mmi": null, "net": "ak", "nst": null, "place": "45km ENE of Talkeetna, Alaska", "rms": 0.5, "sig": 30, "sources": ",ak,", "status": "automatic", "time": 1.484190609589e+12, "title": "M 1.4 - 45km ENE of Talkeetna, Alaska", "tsunami": 0, "type": "earthquake", "types": ",geoserve,origin,", "tz": -540, "updated": 1.484191127265e+12, "url": "http://earthquake.usgs.gov/earthquakes/eventpage/ak15062242" }, "type": "Feature" } ] }

我在 OpenWhisk(如下)中创建的操作返回内部服务器错误。我将输入值传递为
{ "startTime": "1484161200000", "endTime": "1484190000000" }

这是我的操作的代码:

以下是我研究的链接:http: //infrastructuredevops.com/08-17-2016/news-openwhisk-uniq.html
有用,因为使用了 exec-query-find 和选择器语法用法,但也很酷我需要为填充数据而构建的更新功能!

https://www.raymondcamden.com/2016/12/23/going-serverless-with-openwhisk
@csantanapr 引用的文章

我忽略了什么吗?

谢谢!