Python 3.9版GCP Cloud Function获取昨日日期编译报错求助
解决GCP Cloud Function加载失败问题
你的代码在本地Jupyter能正常运行,但部署到Cloud Function后加载失败,核心原因是GCP Cloud Function要求代码必须包含指定的入口函数——Cloud Function需要通过这个入口函数启动执行逻辑,而你的代码没有符合这个结构。
修正后的代码示例:
from datetime import datetime, timedelta # 定义Cloud Function的入口函数(默认函数名为main,部署时需与控制台配置一致) def main(request): cur_dt = datetime.today() # strftime本身返回字符串,无需额外用str()转换 str_dt = (datetime.today() - timedelta(days=1)).strftime('%Y-%m-%d') print(f"当前日期: {cur_dt}") print(f"昨日日期: {str_dt}") # HTTP触发的函数需返回响应内容 return f"昨日日期为: {str_dt}"
额外注意事项:
- 部署时要确保控制台配置的函数入口点和代码中的函数名一致(比如示例中的
main) - 如果是事件触发类型(如Pub/Sub、Cloud Storage),入口函数的参数格式会不同,比如Pub/Sub触发的函数定义应为:
def main(event, context): - 所有业务逻辑都要放到入口函数内部,避免直接执行顶层代码
内容的提问来源于stack exchange,提问作者Ramsankar Pandian
相关产品推荐
相关产品推荐

