在 Firebase 函数 CLI 中模拟 user-creation
Simulate user-creation in Firebase functions CLI
我正在编写一个函数,只要在 Firebase 中创建新用户就会触发该函数。调试这个函数花了我很长时间,因为我为每一个更改部署了云函数。
我使用 Firebase CLI 来模拟数据库中的其他事件,但我不知道如何正确模拟用户创建(使用所有参数)。
启动 CLI 运行:
firebase experimental:functions:shell
我的函数是:
exports.createTreeForNewUser = functions.auth.user().onCreate(event => {
const user = event.data;
console.log(user.uid);
console.log(user.displayName);
console.log(user.email);
console.log(user.photoURL);
console.log(user.metadata.creationTime);
return null;
});
当我 运行 在 Firebase CLI 中执行以下命令时:
createTreeForNewUser()
它打印了 4 次 undefined
,随后出现异常,因为它无法从 undefined
中提取 creationTime
。
这种行为是有道理的,但无论我尝试什么,我都无法弄清楚如何正确传递 event
(以便该函数能够提取我需要的所有参数)。
问题是:
如何正确设置 运行 createTreeForNewUser
和 event
参数?
谢谢!
斯拉维克
将用户对象传递给函数:
createTreeForNewUser({
uid: 'xxx',
displayName: 'John',
email: 'foo@bar.com',
photoURL: 'https://...',
metadata: {creationTime: 123}
})
我正在编写一个函数,只要在 Firebase 中创建新用户就会触发该函数。调试这个函数花了我很长时间,因为我为每一个更改部署了云函数。 我使用 Firebase CLI 来模拟数据库中的其他事件,但我不知道如何正确模拟用户创建(使用所有参数)。
启动 CLI 运行:
firebase experimental:functions:shell
我的函数是:
exports.createTreeForNewUser = functions.auth.user().onCreate(event => {
const user = event.data;
console.log(user.uid);
console.log(user.displayName);
console.log(user.email);
console.log(user.photoURL);
console.log(user.metadata.creationTime);
return null;
});
当我 运行 在 Firebase CLI 中执行以下命令时:
createTreeForNewUser()
它打印了 4 次 undefined
,随后出现异常,因为它无法从 undefined
中提取 creationTime
。
这种行为是有道理的,但无论我尝试什么,我都无法弄清楚如何正确传递 event
(以便该函数能够提取我需要的所有参数)。
问题是:
如何正确设置 运行 createTreeForNewUser
和 event
参数?
谢谢! 斯拉维克
将用户对象传递给函数:
createTreeForNewUser({
uid: 'xxx',
displayName: 'John',
email: 'foo@bar.com',
photoURL: 'https://...',
metadata: {creationTime: 123}
})