Curl 使用旋度和OpenWhisk
我正在尝试使用IBM OpenWhisk。它有自己的CLI,但我想使用Curl 使用旋度和OpenWhisk,curl,ibm-cloud,serverless-framework,openwhisk,ibm-cloud-functions,Curl,Ibm Cloud,Serverless Framework,Openwhisk,Ibm Cloud Functions,我正在尝试使用IBM OpenWhisk。它有自己的CLI,但我想使用curl调用一个简单的“echo”示例 curl -d-data '{"message": "hellow world"}' https://user:password@openwhisk.ng.bluemix.net:443/api/v1/namespaces/whisk.system/action/samples/echo curl: (6) Couldn't resolve host '"message": "hello
curl
调用一个简单的“echo”示例
curl -d-data '{"message": "hellow world"}' https://user:password@openwhisk.ng.bluemix.net:443/api/v1/namespaces/whisk.system/action/samples/echo
curl: (6) Couldn't resolve host '"message": "hello world"'
{
"error": "HTTP method not allowed, supported methods: GET",
"code": 81107
}
如何通过curl或类似工具调用OpenWhisk,如何进行身份验证?身份验证通过完成,因此您可以使用curl中的标志。使用
用户:pass@url
您使用的版本也应该适用
因此,要调用操作,必须使用POST
。此外,API期望application/json
作为内容类型。数据通过curl中的标志发送
您的url中也有输入错误。您需要使用操作
而不是操作
(整个过程使用复数)
总之,您的请求应该如下所示:
curl -XPOST -H "Content-Type: application/json" -d '{"message": "hello world"}' -u $USERNAME:$PASSWORD https://openwhisk.ng.bluemix.net/api/v1/namespaces/whisk.system/actions/samples/echo
关于这一主题,有一份报告。对于阻止操作,只需添加
?blocking=true
作为参数。身份验证是通过完成的,因此您可以使用curl中的标志。使用用户:pass@url
您使用的版本也应该适用
因此,要调用操作,必须使用POST
。此外,API期望application/json
作为内容类型。数据通过curl中的标志发送
您的url中也有输入错误。您需要使用操作
而不是操作
(整个过程使用复数)
总之,您的请求应该如下所示:
curl -XPOST -H "Content-Type: application/json" -d '{"message": "hello world"}' -u $USERNAME:$PASSWORD https://openwhisk.ng.bluemix.net/api/v1/namespaces/whisk.system/actions/samples/echo
关于这一主题,有一份报告。对于阻止操作,只需添加
?blocking=true
作为参数。wsk CLI还有一个非常方便的“-v”选项,它可以显示HTTP请求和标头,因此如果您这样做:
wsk -v action invoke hello --blocking
您将看到实际的REST API调用。wsk CLI还有一个非常方便的“-v”选项,它向您显示HTTP请求和头,因此如果您这样做:
wsk -v action invoke hello --blocking
您将看到实际的RESTAPI调用。身份验证是通过基本身份验证完成的。为“授权”添加HTTP标头。使用字符串
'Basic'+base64Encoded(username+':'+password)
其中base64Encoded(str)是对字符串进行base64加密的方法
您可以在Bluemix上通过找到OpenWhisk帐户的用户名和密码
或通过wsk cli:wsk属性获取
它包含“whisk auth”属性,其格式为“username:password”身份验证通过基本身份验证完成。为“授权”添加HTTP标头。使用字符串
'Basic'+base64Encoded(username+':'+password)
其中base64Encoded(str)是对字符串进行base64加密的方法
您可以在Bluemix上通过找到OpenWhisk帐户的用户名和密码
或通过wsk cli:wsk属性获取
它包含格式为“username:password”的“whisk auth”属性如何添加“blocking”属性?blocking是一个查询参数。只需添加
?blocking=true
。如何添加“blocking”属性?blocking是一个查询参数。只需添加?blocking=true
。