在 Python Google 云函数中键入提示?

type hints in a Python Google Cloud Function?

在 Python Google Cloud Function 中,在“main.py”中有很多子函数,我在 pep8 样式中添加了类型提示 (= return value annotation as part of function annotation)像这样:

from typing import Union

def f1() -> int:
    return 5555

def f2() -> Union[int, int]:
    return 9999, 1111

def my_main_function(request) -> str:
    a = f1()
    x, y = f2()
    return 'Done.'

Union取自,如果类型提示不止一种则需要

函数无法部署,没有关于错误的日志,只有一个橙色错误日志条目,其文本与上面的开始项相同。

MY_TIME_ZONE_LOCATION:MY_CLOUD_FUNCTION_NAME MY_MAIL.com {@type:
type.googleapis.com/google.cloud.audit.AuditLog, authenticationInfo:
{…}, methodName:
google.cloud.functions.v1.CloudFunctionsService.UpdateFunction,
resourceName:
projects/MY_PROJECT_NAME/locations/MY_TIME_ZONE_LOCATION/functions/MY_CLOUD_FUNCTION_NAME,
serviceName: cloudfunctions.googleapis.com, status… {@type:
type.googleapis.com/google.cloud.audit.AuditLog, authenticationInfo:
{…}, methodName:
google.cloud.functions.v1.CloudFunctionsService.UpdateFunction,
resourceName:
projects/MY_PROJECT_NAME/locations/MY_TIME_ZONE_LOCATION/functions/MY_CLOUD_FUNCTION_NAME,
serviceName: cloudfunctions.googleapis.com, status… ```

并且当我将 -> 替换为 : # -> 以便注释掉所有类型字符串时,它起作用了,因此,类型提示似乎扰乱了 Google 云函数。

是否完全支持类型提示?我怎样才能让类型提示在 Google 云函数中工作?

根据评论,错误出在另一个代码片段中,如下所示:

def f3() -> int, int:
     return 4444, 2222

该代码已更正为包含 TupleUnion 也有效,但不是一种类型提示中许多类型的默认值):

def f3() -> Tuple[int, int]:
     return 4444, 2222