我尝试了很多方法来部署这个函数,多次安装和卸载节点,但仍然会出现同样的错误。我试图实现的是使用agora访问令牌包使用firebase函数生成令牌代码是:
const functions = require("firebase-functions");
const {RtcTokenBuilder, RtcRole} = require("agora-access-token");
exports.agoraToken = functions.region("asia-south1").
https.onCall((data, context)=> {
const appID = "<myAppID>";
const appCertificate = "myAppCertificate";
const uid = data.uid;
const channelId = data.channelId;
const role = RtcRole.PUBLISHER;
const expirationTimeInSeconds = 3600;
const currentTimestamp = Math.floor(Date.now() / 1000);
const privilegeExpiredTs = currentTimestamp + expirationTimeInSeconds;
const token = RtcTokenBuilder.buildTokenWithUid(appID,
appCertificate, channelId, uid, role, privilegeExpiredTs);
return token;
});
错误是:
===正在部署到"xxxx"。。。
I部署函数运行命令:npm-prefix"RESOURCE_DIR";运行皮棉
linteslint。
- 函数:已完成预部署脚本的运行。i函数:确保所需的API cloudfunctions.googleapis.com已启用。。。我函数:确保所需的API cloudbuild.googleapis.com已启用。。。i函数:确保所需的APIartifactregistry.googleapis.com已启用
- 函数:已启用必需的API artifactregistry.googleapis.com
- 函数:已启用必需的API cloudfunctions.googleapis.com
- functions:required API cloudbuild.googleapis.com is enabled i functions:prepare functions directory for uploading。。。我函数:用于上载的打包函数(71.53 KB(
- 函数:函数文件夹上传成功i函数:创建Node.js 14函数agoraToken(asia-south1(
部署的函数出现以下函数错误:agoraToken(asia-south1(i函数:清理构建文件。。。
错误:部署功能时出错
问题是我没有在package.json文件中添加依赖项。我不得不在函数文件夹的package.json中添加agora访问令牌依赖项。
编辑:由于我在这个过程中遇到了困难,我创建了GitHub存储库,其中包含使用Firebase函数创建Agora访问令牌的示例代码。https://github.com/rushikeshnarwade/agora-access-token-using-firebase-functions
我可以建议您使用--debug
,因为它提供了日志中找不到的信息,而且它还可以修复有问题的部署。
尝试使用--debug运行部署。示例:firebase --debug deploy.
Cloud Function日志可以在Firebase面板、Cloud Logging UI或Firebase命令行工具中看到。
要查看更多日志,这里有指向文档的链接。