当我们通过 CLI 调用操作时,我们会得到激活 ID 作为结果。但是,当我们在 Bluemix 中为动作生成 API 并尝试调用 API 时,我只收到动作的结果。调用后如何获取action的激活ID?我们应该能够稍后通过使用激活 ID 获得响应吗?
问问题
862 次
2 回答
1
一个动作,在其执行上下文中具有可用的激活 ID:它在环境变量中作为 __OW_ACTIVATION_ID 可用。
您可以在响应中返回此值 - 如果您使用 Web 操作或 API 网关并且能够发送自定义标头作为结果,您可以将其用作返回 id 的机制。或者简单地返回 id 本身。
给定一个激活 ID,您可以稍后将其与激活 API 一起使用来检索结果。
听起来您想要一个非阻塞激活而不是请求/响应样式。为此,如果您不使用 webaction 或 API 网关,则默认调用机制是非阻塞的,它会向您返回激活 ID。
这是对 API 的参考https://github.com/apache/incubator-openwhisk/blob/master/docs/rest_api.md
于 2017-05-18T05:45:43.440 回答
1
如果您使用以下命令从 CLI 调用,您应该返回激活 ID和结果:
wsk 动作调用 --blocking the-action-name
您可以获得从最新到最旧的激活列表:
wsk激活列表
有一个非常好的文档,包含大量细节并使用不同的语言 --> https://console.ng.bluemix.net/docs/openwhisk/openwhisk_actions.html#openwhisk_actions_polling
于 2017-05-23T17:02:30.353 回答