可以使用對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客戶端庫,使這更容易。