问题标签 [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.
curl - 将 curl 与 OpenWhisk 一起使用
我正在尝试使用 IBM OpenWhisk。它有自己的 CLI,但我想使用curl
.
如何通过 curl 或类似工具调用 OpenWhisk,如何进行身份验证?
ibm-cloud - 如何中断 OpenWhisk 中的序列流?
我正在 Cloudant 数据库上编写一个触发器,该触发器应将每个新文档转换为 Slack 通知。
我创建了两个动作序列:一个是准备 Slack 消息,一个是发送它。为了发送 Slack 消息,我使用了 IBM Bluemix OpenWhisk 提供的包操作。
Cloudant 更改提要 --> 准备文本 --> Slack Post --> 响应
由于触发器向我发送了所有 Cloudant 事件(新的/修改的/删除的文档),我怎么能只将 NEW 文档事件转发给 Slack 而忽略诸如已删除文档之类的事情。
ibm-cloud - 来自 OpenWhisk 的 cloudant 查询的安全性
我正在Bluemix 上构建一个带有Cloudant 数据存储的Angular SPA。
由于 OpenWhisk 的 Bluemix 实现不使用 VCAP 服务,因此我看到了 3 个选项来使用 OpenWhisk 作为我的 api 提供程序来为我的 Angular 应用程序进行云查询:
- 遵循此处所示的传递凭证模式:https ://github.com/IBM-Bluemix/openwhisk-visionapp (顺便说一句非常有趣的方法)
- 包括我在本地运行的凭据,如下所示:https ://github.com/IBM-Bluemix/nodejs-cloudant/blob/master/app.js
- 使用此处所示的 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 引用的文章
我忽略了什么吗?
谢谢!
ibm-cloud - 您如何使用/参考 IBM Bluemix OpenWhisk 中的库?
截至今天,在 IBM Bluemix OpenWhisk 服务的 IBM Bluemix 文档中,我找不到任何关于如何使用库的线索。
我怎么会错过所有应用程序都需要一个库这一显而易见的事实,因此为什么在 OpenWhisk 文档中至少没有提到这一点?
如果库被称为其他名称或该概念不适用于通常的方式(例如库可能需要转换为“OpenWhisk 包”?),OpenWhisk 文档应该对“库”一词/术语/概念进行说明.
python - 在 IBM Cloud Functions 的 virtualenv 中使用 PIL 时出错:ModuleNotFoundError: No module named 'PIL'
我正在尝试使用 PIL 在 Python 中定义 IBM Cloud Function。
我使用 Pycharm 进行开发。在 Pycharm 中,site-packages
在我的 Python 运行时下,我看到PIL
和Pillow-4.3.0:dist-info
. 当我在 Pycharm 中本地运行我的代码时,它运行良好。
我virtualenv
使用相同的 Python 运行时和我的代码构建了一个,以便包含不属于 Cloud Functions Python 运行时的依赖项。检查virtualenv
,我可以看到相同的库:
但是,当我使用此运行时将我的代码作为云函数执行virtualenv
时,我看到一个错误:ModuleNotFoundError: No module named 'PIL'
.
我认为错误在于我如何构建 my virtualenv
,但我不知所措,因为看起来那里有相同的库。
node.js - OpenWhisk 返回整个响应对象,而不仅仅是数据
我有一个返回响应对象的 OpenWhisk 操作,因为我希望能够控制标头和 HTTP 状态代码。我的操作返回如下内容:
我从命令行将操作部署在一个包中:
并将其作为 API 在 IBM Cloud Functions 上公开:
但是当我使用 访问 API 调用时curl
,我得到了整个响应对象,而不仅仅是数据:
我期待得到公正{ x: 1 }
。
我需要做什么来解决这个问题?
cloud - 60 秒后 ibm bluemix 超时
我尝试循环运行 1000 次,当程序达到 60 秒时输入此错误
示例代码
错误仅在达到 60 秒时出现。我尝试重复次数少于 60 秒并正常运行
openwhisk - 从 OpenWhisk (IBM Cloud Function) 操作返回二进制 HTTP 响应
我想在 IBM Cloud Function 中使用 OpenWhisk 通过 HTTP 返回驻留在(IBM Cloud)ObjectStorage 中的二进制文件。
这可能吗?在我看来,OpenWhisk 似乎只支持 JSON 作为操作的结果。
这是我正在使用的代码(get_object_storage_file 返回二进制数据):
python-3.x - bluemix 上的 python 调度程序
我在 python 中使用 schedule 包,每 15 秒调用一次函数,并希望在 IBM Bluemix 上运行此代码。已使用 -no-route 选项将应用程序推送到 Bluemix,尽管应用程序已部署到 Bluemix,但 Bluemix 无法启动应用程序
以下是我尝试过的示例代码
此应用程序的 Bluemix 日志中的消息:
过了一会儿,我在日志中看到了这条消息
Python版本:3.4.4