1

我使用 Python 3.7 创建了一个 Google Cloud 函数。测试函数本身,它的行为符合预期。我已经将该函数的触发器设置为一个名为“Scheduled”的主题。

在此处输入图像描述

当从 UI 手动测试时,代码本身会运行一系列 API 调用,完全符合预期。 运行手动测试时的输出。 原始源代码不需要脚本内的 main 函数的参数,但是我意识到 Cloud Function 无论如何都会将 2 传递给它,所以我添加了它们而没有实际用途:

def main(event, data):
    print(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
    getNotifs = getNotifications()
    if getNotifs["hasData"] == True:
        print("Found notifications, posting to Telegram.")
        notifsParsed = parseNotifications(getNotifs["data"])
        telegramCall = telegramPost(
            {"text": str(notifsParsed), "chat_id": ChatId, "parse_mode": "HTML"})
        print(telegramCall)
    elif getNotifs["hasData"] == False:
        print(getNotifs["error"])
    print("================================")

现在,我创建了一个新的 Cloud Scheduler 作业,其中目标是“pub/sub”,主题也是“Scheduled”。我找不到所需的“有效负载”字段的用途,Google 的调度程序指南只填写一个随机值,“你好”没有引号或类似的东西,所以我填写了“嗨”。

在此处输入图像描述

运行作业我反复遇到失败,并且此日志:状态:“INVALID_ARGUMENT”
目标类型:“PUB_SUB”。

我尝试将有效负载更改为“hi”(带引号),编辑主 PY 函数以接受另一个参数,两者似乎完全不相关。我错过了什么?

4

1 回答 1

2

唯一的问题是调度程序作业中定义的主题类型错误,它是自由文本,而不是现有主题或任何内容的选择。

于 2020-05-21T19:48:38.770 回答