【问题标题】:Problem with Python inside a Google Cloud Function谷歌云函数中的 Python 问题
【发布时间】:2021-03-04 08:37:25
【问题描述】:

我已将以下代码放入 Python 3.8 Google Cloud Function 中。我所做的只是更新“Hello-World”示例并在顶部添加导入行。我很困惑,因为我这周刚开始使用 GCP,我认为在存储桶中建立连接会更容易。我在日志中看到的错误位于代码下方。

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…

【问题讨论】:

  • 如何部署功能?

标签: python-3.x google-cloud-platform google-cloud-functions google-cloud-storage


【解决方案1】:
  1. mkdir ooo

  2. cd ooo

  3. 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!'


  1. cat requirements.txt
google-cloud-storage
  1. 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'

一切都按预期进行。

Quickstart: Using the gcloud Command-Line Tool

【讨论】:

    猜你喜欢
    • 2019-02-15
    • 2021-05-09
    • 2020-11-21
    • 1970-01-01
    • 2018-03-01
    • 2017-03-30
    • 1970-01-01
    • 1970-01-01
    • 2021-01-12
    相关资源
    最近更新 更多