在Bluemix上的Python操作中执行OpenWhisk操作

2024-06-16 12:46:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经在bluemixopenwhisk上编写了一个Python操作,我需要从这个操作中调用另一个操作(实际上是一个公共包的绑定)。序列不会这样做,因为我需要根据输入使用不同的参数调用它不同的次数。在

How to invoke openwhisk action within openwhisk platform on bluemix?提到了如何从JavaScript实现,但是OpenWhisk包似乎不适用于Python。在


Tags: to参数on序列actionjavascript次数how
1条回答
网友
1楼 · 发布于 2024-06-16 12:46:01

可以使用对platform API的HTTP请求调用操作。OpenWhisk中的Python运行时包含用于进行HTTP调用的requests库。在

下面是一个调用同一命名空间中另一个(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客户机库,使之更容易实现。在

相关问题 更多 >