2017-05-10 40 views

回答

1

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