Curl 使用旋度和OpenWhisk

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

我正在尝试使用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 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