【问题标题】:Export users from keycloak - Timeout从 keycloak 导出用户 - 超时
【发布时间】:2022-09-23 18:47:02
【问题描述】:

我正在尝试使用 Keycloak Admin Rest API 获取我的用户数据,执行以下 GET 请求:

{realms}/users?max=-1

但是,由于用户太多(〜170.000),它由于超时而失败。

我尝试过使用 Postman(超时无限制)和 Python Requests 库,但没有成功。

我怎样才能忽略这个问题并获得所有用户?

  • 我测试从本地 Keycloak 获得 7000 个用户。邮递员只需 3.54 秒,超时时间为 0(邮递员将永远等待响应)我认为您的 Keycloak 有问题。如何划分少量用户并合并用户数据?就像每 1000 人最多 17K 用户一样。 {realms}/users?start=1&max=1000 {realms}/users?start=1001&max=1000 ... {realms}/users?start=16001&max=1000
  • 谢谢!这很有用。 PS:我编辑了我的问题,因为它是 170k 而不是 17k。
  • Postman 1000 个用户需要多长时间?获取 {realms}/users?start=1&max=1000
  • 是的,你是对的,我检查了它API documentation。如果 5K 用户只需 3~5 秒的时间很短,为什么不使用简单的循环语句让所有用户都被你的程序合并。合并然后将文件保存到单个 JSON 文件中。它可以获取所有用户。如果您想要这种方法,我可以帮助您。
  • 其实我就是这么做的!所以谢谢你的帮助:)

标签: timeout keycloak-rest-api


【解决方案1】:

尝试在您的库中搜索使用偏移量和限制来获取一批用户。

到目前为止,我将它用于 java,我已经停止了一批 1500 个用户,以免加载 Keycloak 与您的大请求。

但要小心默认超时休息客户端 50-70 千+。

【讨论】:

    猜你喜欢
    • 2018-08-02
    • 2019-07-18
    • 1970-01-01
    • 1970-01-01
    • 2023-01-05
    • 2021-07-24
    • 2013-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多