graphql - 为什么仪表板中显示的动物数据库与通过 CLI 创建的不同?
问题描述
我通过两种方式向 Fauna 进行了身份验证 -
- 登录该站点,这会将您带到您的仪表板
- 使用 CLI -
fauna cloud-login
鉴于我已经使用相同的电子邮件/密码组合登录了两者,我希望它们会显示相同的数据库,但看起来它们的范围似乎完全不同。这是预期的吗?有什么我想念的吗?
分别通过 Web UI 和 CLI 的数据库列表屏幕截图fauna list-databases
-
文档中没有任何内容表明这种行为是预期的。我难住了。
解决方案
我已经破解了。我不确定是否涉及任何错误,或者我只是不太了解身份验证系统,但是
首先,当您登录到 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
推荐阅读
- android - Canvas drawText(字体)导入Times字体?
- node.js - EACCES:权限被拒绝在 Mac 上使用 npm 安装 NWjs
- vba - 判断树节点是否存在
- c - 如何在 macOS 上使用 GDB 调试器?
- angular - 如何使用 Angular 从 twitter api 读取属性
- keras - 如何访问包含预训练模型的自定义模型的即时激活?
- python - 如何从python中的不同文件调用函数?
- google-apps-script - 在 Google 幻灯片上自动更新电子表格范围
- python - 在 Python 中运行完成后,无法让更大的代码循环
- python - 如何使用 altair 在 hconcat 图表中显示两个不同的图例