首页 > 解决方案 > 为什么仪表板中显示的动物数据库与通过 CLI 创建的不同?

问题描述

我通过两种方式向 Fauna 进行了身份验证 -

鉴于我已经使用相同的电子邮件/密码组合登录了两者,我希望它们会显示相同的数据库,但看起来它们的范围似乎完全不同。这是预期的吗?有什么我想念的吗?

分别通过 Web UI 和 CLI 的数据库列表屏幕截图fauna list-databases-

动物群网络仪表板

CLI 列表数据库

文档中没有任何内容表明这种行为是预期的。我难住了。

标签: graphqlfaunadb

解决方案


我已经破解了。我不确定是否涉及任何错误,或者我只是不太了解身份验证系统,但是

首先,当您登录到 UI 或 shell 时,它似乎撤销了另一个的(root?)密钥。注销并重新登录到另一个将刷新您那里的视图。

其次,此撤销仅适用于您登录的适用域/区域组。在 UI 的情况下,这就是所有这些,而在 shell 的情况下,这始终是“经典”(我试过fauna cloud-login --domain db.us.fauna.com但似乎不起作用 -~/.fauna-shell仍然显示domain=db.fauna.com并且密钥对经典有效)。这意味着您仍然登录到仪表板,但所有“经典”数据库都从视图中消失。

第三,在上述状态下,您可以在美国或欧盟区域组中创建新数据库,但不能在 Classic 中创建新数据库(尝试会导致此错误)。然后,您保持登录到 shell 并列出 Classic 数据库,并登录到 UI,但您的 Classic 访问权限被撤销。

您现在看到的是我所看到的 - fauna list-databases显示经典区域组中的所有数据库,而仪表板 UI 显示不在经典区域组中的所有数据库。

注销并返回站点将导致显示所有数据库。重新登录到 shell 只会显示经典区域组数据库。

** 编辑 ** 尝试登录区域组:

bash-3.2$ fauna version
fauna-shell/0.12.4 darwin-x64 node-v16.1.0
bash-3.2$ fauna cloud-login --domain=db.us.fauna.com
For email login, ...<truncated>

Email or secret key: <email>
Password: ***************
The 'cloud' endpoint already exists. Overwrite? [y/n]: y
bash-3.2$ fauna list-databases --domain=db.us.fauna.com
 ›   Error: Could not Connect to https://db.us.fauna.com Unauthorized Secret
bash-3.2$ fauna list-databases
listing databases
tsukiyomi

推荐阅读