2024-06-16 12:46:01 发布
网友
我已经在bluemixopenwhisk上编写了一个Python操作,我需要从这个操作中调用另一个操作(实际上是一个公共包的绑定)。序列不会这样做,因为我需要根据输入使用不同的参数调用它不同的次数。在
How to invoke openwhisk action within openwhisk platform on bluemix?提到了如何从JavaScript实现,但是OpenWhisk包似乎不适用于Python。在
可以使用对platform API的HTTP请求调用操作。OpenWhisk中的Python运行时包含用于进行HTTP调用的requests库。在
下面是一个调用同一命名空间中另一个(child)的操作的示例。在
child
import os import requests APIHOST = os.environ.get('__OW_API_HOST') NAMESPACE = os.environ.get('__OW_NAMESPACE') USER_PASS = os.environ.get('__OW_API_KEY').split(':') def main(params): action = 'child' url = APIHOST + '/api/v1/namespaces/' + NAMESPACE + '/actions/' + action response = requests.post(url, data=params, params={'blocking': 'true'}, auth=(USER_PASS[0], USER_PASS[1])) print(response.json()) return {"text": "invoked!"}
完整API的Swagger文档可用here。在
有一个open issue来创建一个Python客户机库,使之更容易实现。在
可以使用对platform API的HTTP请求调用操作。OpenWhisk中的Python运行时包含用于进行HTTP调用的requests库。在
下面是一个调用同一命名空间中另一个(
child
)的操作的示例。在完整API的Swagger文档可用here。在
有一个open issue来创建一个Python客户机库,使之更容易实现。在
相关问题 更多 >
编程相关推荐