当尝试部署下面的功能时,我收到错误:
构建失败,状态: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 触发器是否正在工作(但不是:/)。
我想。 刚刚进入 Google Cloud Console,选择了该项目。然后搜索云构建并启用“云构建”服务。