我已经将以下代码放入Python 3.8谷歌云函数中。我所做的只是更新";Hello World"示例,并在顶部添加了导入行。我很困惑,因为我本周刚刚开始使用GCP,我认为在bucket中建立连接会更容易。我在日志中看到的错误在代码下面。
from google.cloud import storage
def hello_world(request):
"""Responds to any HTTP request.
Args:
request (flask.Request): HTTP request object.
Returns:
The response text or any set of values that can be turned into a
Response object using
`make_response <http://flask.pocoo.org/docs/1.0/api/#flask.Flask.make_response>`.
"""
request_json = request.get_json()
if request.args and 'message' in request.args:
return request.args.get('message')
elif request_json and 'message' in request_json:
return request_json['message']
else:
return f'Hello World!'
错误消息为:
2020-11-20 15:22:20.289 MSTCloud FunctionsUpdateFunctionus-central1:faautoingestiongcp*******@gmail.com {@type: type.googleapis.com/google.cloud.audit.AuditLog, authenticationInfo: {…}, methodName: google.cloud.functions.v1.CloudFunctionsService.UpdateFunction, resourceName: projects/reference-rain-293921/locations/us-central1/functions/faautoingestiongcp, serviceName: cloudfunctions.googleapis.com, s…
{@type: type.googleapis.com/google.cloud.audit.AuditLog, authenticationInfo: {…}, methodName: google.cloud.functions.v1.CloudFunctionsService.UpdateFunction, resourceName: projects/reference-rain-293921/locations/us-central1/functions/faautoingestiongcp, serviceName: cloudfunctions.googleapis.com, s…
-
mkdir ooo
-
cd ooo
-
cat main.py
from google.cloud import storage
def hello_world(request):
"""Responds to any HTTP request.
Args:
request (flask.Request): HTTP request object.
Returns:
The response text or any set of values that can be turned into a
Response object using
`make_response <http://flask.pocoo.org/docs/1.0/api/#flask.Flask.make_response>`.
"""
request_json = request.get_json()
if request.args and 'message' in request.args:
return request.args.get('message')
elif request_json and 'message' in request_json:
return request_json['message']
else:
return f'Hello World!'
cat requirements.txt
google-cloud-storage
gcloud functions deploy hello_world --runtime python37 --trigger-http --allow-unauthenticated
entryPoint: hello_world
httpsTrigger:
url: https://us-central1-xxxx.cloudfunctions.net/hello_world
ingressSettings: ALLOW_ALL
labels:
deployment-tool: cli-gcloud
name: projects/xxxxxxx/locations/us-central1/functions/hello_world
runtime: python37
.....................
us: ACTIVE
timeout: 60s
updateTime: '2020-11-21T12:50:41.095Z'
versionId: '2'
一切如预期。
快速启动:使用gcloud命令行工具