问题描述
我已经通过两种方式向 Fauna 进行了身份验证 -
- 登录网站,将您带到dashboard
- 使用 CLI -
def test_make_obj() -> None: made_obj = make_obj() assert made_obj.property_1 == 100 made_obj.property_1 = 9001 assert made_obj.property_1 == 9001 type(made_obj).__dict__["property_1"].assert_called_once_with(9001)
鉴于我已使用相同的电子邮件/密码组合登录两者,我希望它们会显示相同的数据库,但看起来它们的范围以某种方式完全不同。这是预期的吗?有什么我遗漏的吗?
分别通过 Web UI 和 CLI 的 def make_obj() -> Any:
my_obj = Foo()
pmock = PropertyMock(return_value=100)
type(my_obj).property_1 = pmock
return my_obj,pmock
def test_make_obj() -> None:
made_obj,pmock = make_obj()
assert made_obj.property_1 == 100
made_obj.property_1 = 9001
assert made_obj.property_1 == 9001
pmock.assert_called_once_with(9001)
截取的数据库列表 -
文档中没有任何内容表明这种行为是预期的。我被难住了。
解决方法
您说得对,这似乎没有按预期工作。
您是使用 Github 还是 Netlify 登录仪表板?外壳 does not currently support login with Github/Netlify。在这种情况下,您需要转到仪表板,为您的数据库创建一个密钥,然后使用该密钥而不是用户名/密码登录 shell。
如果情况并非如此,或者无法帮助您解决问题,那么您可以向 support@fauna.com 发送一封电子邮件(来自您用于创建帐户的电子邮件),其中包含您的问题的详细信息.
,我已经破解了。我不确定是否涉及任何错误,或者我只是不太了解身份验证系统,但是
首先,当您登录 UI 或 shell 时,它似乎撤销了另一个的(root?)密钥。注销并重新登录另一个将刷新您在那里的视图。
第二,此撤销仅适用于您登录的适用域/区域组。在 UI 的情况下,这就是所有这些,而在 shell 的情况下,这始终是“经典”(我尝试了 fauna cloud-login --domain db.us.fauna.com
但似乎不起作用 - ~/.fauna-shell
仍然显示 { {1}} 并且密钥对 Classic 有效)。这意味着您仍会登录仪表板,但所有“经典”数据库都从视图中消失了。
第三,在上述状态下,您可以在美国或欧盟地区组中创建新数据库,但不能在经典中创建(尝试将导致 this error)。然后,您保持登录到列出经典数据库的 shell,并登录到 UI,但您的经典访问权限被撤销。
你现在看到的是我看到的——
domain=db.fauna.com
显示经典区域组中的所有数据库,而仪表板 UI 显示所有不在经典区域组中的数据库。
注销并重新登录站点将导致显示所有数据库。重新登录 shell 只会显示经典区域组数据库。
** 编辑 ** 尝试登录区域组:
fauna list-databases