我的 Python Firebase 云函数出了什么问题?

问题描述 投票:0回答:1

当尝试部署下面的功能时,我收到错误:

构建失败,状态:FAILURE。由于构建服务帐户缺少权限,无法构建该函数。如果您没有明确撤销该权限,这可能是由于组织策略的更改引起的。请参阅以下文档了解更多详细信息和解决方案:https://cloud.google.com/functions/docs/troubleshooting#build-service-account

实际上,我可以在 Firebase 控制台上看到该功能,但它显示“未知触发器”。

我还可以在 Google Cloud Console 上看到以下错误消息:

构建失败,状态:FAILURE。由于构建服务帐户缺少权限,无法构建该函数。如果您没有明确撤销该权限,这可能是由于组织策略的更改引起的。请参阅以下文档了解更多详细信息和解决方案:https://cloud.google.com/functions/docs/troubleshooting#build-service-account 您还可以在以下位置查看日志...

未找到该函数的Eventarc触发器projects/myproject/locations/nam5/triggers/sendNotification-xxxxxx。该功能可能无法正常工作。请重新部署。

找不到该功能的Cloud Run服务项目/myproject/locations/us-central1/services/sendNotification。该功能将无法正常工作。请重新部署。

import firebase_admin
from firebase_functions import https_fn, firestore_fn
from firebase_admin import initialize_app, credentials, firestore, messaging
import google.cloud.firestore

app = initialize_app()

@firestore_fn.on_document_created(document = "users/{userId}/invites/{inviteId}")
def sendNotification(event: firestore_fn.Event[firestore_fn.DocumentSnapshot | None],) -> None :
    if event.data is None:
        return
    try:
        userId = event.params["userId"]
        db = firestore.client()
        user_ref = db.collection("users").doc(userId)
        user_data = user_ref.get().to_dict
        tokenFCM = user_data.get("tokenFCM")
        print(f"user token: {tokenFCM}")
    except KeyError:
        return

我有点从 Cloud Functions 文档中复制和粘贴,但它仍然不起作用。

我正在编写更多内容来实现通知发送,但现在我正在测试 firestore 触发器是否正在工作(但不是:/)。

python firebase function triggers cloud
1个回答
0
投票

我想。 刚刚进入 Google Cloud Console,选择了该项目。然后搜索云构建并启用“云构建”服务。

© www.soinside.com 2019 - 2024. All rights reserved.