无法访问 gcloud CLI 之外的 google cloud get_http function



我正在学习谷歌云函数HTTP教程(Python(,除了使用gcloud CLI之外,我无法将任何数据传递给我部署的函数。一切都是实时的,我可以在控制台上看到它,但每当我试图用content-type|application/jsonhello_http函数发送数据时,我都会收到400错误。我已经确保在我的帐户上设置了权限,但我一直收到400错误。

这就是功能:

# [START functions_helloworld_http]
@functions_framework.http
def hello_http(request):
"""HTTP Cloud Function.
Args:
request (flask.Request): The request object.
<https://flask.palletsprojects.com/en/1.1.x/api/#incoming-request-data>
Returns:
The response text, or any set of values that can be turned into a
Response object using `make_response`
<https://flask.palletsprojects.com/en/1.1.x/api/#flask.make_response>.
"""
request_json = request.get_json(silent=True)
request_args = request.args
if request_json and 'name' in request_json:
name = request_json['name']
elif request_args and 'name' in request_args:
name = request_args['name']
else:
name = 'World'
return 'Hello {}!'.format(escape(name))
# [END functions_helloworld_http]

这是我请求的格式:

curl --request GET 'GOOGLECLOUDURL/hello_http' 
--header 'Content-Type: application/json' 
--data-raw '{"name":"Keyboard Cat"}'

为了传入JSON或任何其他原始数据,需要有一个-H "Authorization: bearer $(gcloud auth print-identity-token)"标头,其中gcloud auth print-identity-token是从gcloud CLI运行以获取令牌的命令。否则,服务器将不接受输入。

相关内容

  • 没有找到相关文章

最新更新