Snowflake 身份验证令牌已过期 (390114) - Snowflake-SQLAlchemy 是否有心跳代码?

2024-01-10

我开发了一个 Flask 应用程序,使用 SQLAlchemy 连接到 Snowflake DB 作为后端。如果网站闲置时间超过 4 小时,我会遇到 Snowflake 身份验证令牌过期问题。我在谷歌上查了一下并找到了答案

https://github.com/snowflakedb/gosnowflake/issues/160 https://github.com/snowflakedb/gosnowflake/issues/160

但它似乎对 Snowflake-SQLAlchemy 无效。

我使用 APScheduler 实现了一个心跳代码,该代码每 50 分钟触发一次“选择 1”,但如果会话在浏览器 (SSO) 中处于活动状态,则会抛出“身份验证令牌已过期”错误。

from sqlalchemy import create_engine
engine = create_engine('snowflake://<connection-string>' )
connection = engine.connect()
names = connection.execute_query("select names from employees")

def sensor():
    """ Function for scheduling purposes. """
    v = cursor.execute("""select 1""")
    v = v.fetchall()
    print(v)

sched = BackgroundScheduler(daemon=True)
sched.add_job(sensor,'interval',minutes=50)
sched.start()

我知道这个问题已经问了很多年了。这是我对 SO 的第一个回答 - 所以可能是一个练习的好地方:)

我怀疑这里有两个不同的事情在起作用 - 第一个是会话的保持活动,其他人已经回答了这个问题。

第二个(这似乎是你的问题)是你的 JWT 的生存时间——它与你的会话是分开的。

无论如何 - JWT 令牌的生命周期最长为一小时。因此,您需要实施令牌刷新策略。

JWT 的生存时间记录在此处(页面中间 - 在注释中)https://docs.snowflake.com/en/developer-guide/sql-api/authenticating.html https://docs.snowflake.com/en/developer-guide/sql-api/authenticating.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Snowflake 身份验证令牌已过期 (390114) - Snowflake-SQLAlchemy 是否有心跳代码? 的相关文章

随机推荐

  • Maven 从 url 下载或获取 wsdl 到项目目录

    我们使用 url 位置的 wsdls 开发了一个 Web 服务客户端应用程序 我不希望 Web 服务客户端每次都去验证实际的 wsdls 因此想将 wsdls 下载到本地项目中 有什么方法可以使用类似于复制资源的maven下载wsdls吗
  • 你能解释一下这个 sed 一行吗?

    下面一行逆向打印出文件的内容 sed n 1 G h p test txt sed 逐行读取文件怎么可能呢 你能解释一下它的含义吗 n flag 1 G h and p 在这个命令中 这将完成与以下相同的工作tac 即恢复行的顺序 将sed
  • Linux线程同步

    我是 Linux 和 Linux 线程的新手 我花了一些时间谷歌搜索来尝试了解可用于线程同步的所有函数之间的差异 我还有一些问题 我发现了所有这些不同类型的同步 每种都有许多用于锁定 解锁 测试锁定等的功能 gcc原子操作 futexes
  • 如何在角度应用程序内打开其他网站

    我正在尝试加载另一个网站 其中我将有一个网站列表 如果我单击网站链接 它必须在我的角度应用程序中打开该网站 角度或任何地方是否有任何可用选项可以用来加载限制加载网站的网站 我尝试过使用 HTML 标签元素 iframe embed obje
  • DRF Viewset 删除详细路线的权限

    我有一个基本的视图集 class UsersViewSet viewsets ModelViewSet permission classes OnlyStaff queryset User objects all serializer cl
  • 如何根据 Rails 中输入的用户日期继续每周向用户发送电子邮件[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions Rails 上的新功能 目前使用 W
  • 从 STL std::queue 中删除而不破坏删除的对象?

    我在 STL 容器 队列和列表 上找到的所有文档都说 对于任何删除函数 都会调用删除对象的析构函数 这意味着我无法在任何时候使用 std queue 来使用一个队列 该队列只是需要对其执行某些操作的对象列表 我希望能够在对象排队等待我对它们
  • 如何让 Gradle 在 Java 测试之前编译 Groovy 测试

    Gradle 的 Groovy 插件声称它 supports joint compilation which allows to freely mix and match Groovy and Java code with dependen
  • 如何使用 java 将逗号 (,) 替换为点 (.)

    我有一个String str 12 12我想用 点 替换 逗号 以进行十进制数计算 目前我正在尝试这个 if str indexOf 1 str replaceAll 请帮忙 您的问题不在于匹配 替换 而是 String 是不可变的 您需要
  • 类型化的函数数组

    我正在努力弄清楚是否可以在 TypeScript 中声明静态类型的函数数组 例如 我可以这样做 foo data string gt void function data 但是 如果我希望 foo 成为一个接受字符串且不返回任何内容的函数数
  • D3 V4 中地图中的圆圈显示的位置不正确

    我正在使用教程来学习如何在 D3 v3 中生成地图 但我正在使用 D3 v4 我只是想让一些圆圈出现在地图上 见下文 该代码有效 只是圆圈位于内华达州上空并且应该位于湾区 我想这是地图投影和投影坐标之间的不匹配 我不确定地图所在的投影 但我
  • dplyr 用于行分位数

    我有一个 df 层 每个层都有 1000 个来自该层估计值的后验分布的样本 mydf lt as data frame lapply seq 1 1000 rnorm n 100 colnames mydf lt paste s seq 1
  • 将其他编辑器与 TortoiseHg 一起使用

    我正在尝试使用 TortoiseHG 的其他编辑器 而不是 Windows 记事本 我已经尝试过这里提到的解决方案 Mercurial 和 Notepad 集成 https stackoverflow com questions 92078
  • 我可以改进这个 JQuery 图像替换代码吗?

    HTML 看起来有点像 dl dt img src Something 1 dt dd Something 1 Text dd dl 此 HTML 重复 1 次或多次 因此同一页面上可能有许多 HTML 实例 我用来扩展 dd 并替换图像的
  • REST、HTTP DELETE 和参数

    向 HTTP DELETE 请求提供参数是否存在非 RESTful 的情况 我的场景是 我正在建模 您确定要删除它吗 设想 在某些情况下 资源的状态表明请求的删除可能无效 您可能可以自己想象一些需要确认删除的场景 我们采用的解决方案是向删除
  • 盐是否需要随机才能保护密码哈希?

    我对安全性知之甚少 我需要找到基础知识的基本解释 并且正在尝试想出一种合理的方法来使用 Net 将用户密码存储在数据库中 这是我当前的解决方案 private static byte HashPassword string password
  • 从 .Net 打印服务器端(不带 WinForms)

    嘿 印刷迷需要一些指导来引导我朝着正确的方向发展 我正在为当地一家商店开发一个 epos 系统 稍后我们将把它与一个电子商务网站结合起来 epos 系统的前端将是 WinForms 因此我们可以轻松处理 USB 设备 并且我们将使用 Web
  • 如何将常规 numpy 数组转换为记录数组?

    我读了一系列数字 np array f read split dtype np float64 然后我使用以下方法将其转换为二维数组np reshape 之后如何转换arr到记录数组 我尝试过 类似 以下操作 filename unstru
  • 使用 bash 脚本在 EC2 实例上启动会话管理器后如何在 EC2 实例上运行命令?

    我正在编写 bash 脚本来使用会话管理器在 ec2 实例上安装缺少的补丁 我可以使用脚本启动会话 但我不确定如何使用脚本在其上运行命令 instanceid i 098xxxx echo instanceid echo instance
  • Snowflake 身份验证令牌已过期 (390114) - Snowflake-SQLAlchemy 是否有心跳代码?

    我开发了一个 Flask 应用程序 使用 SQLAlchemy 连接到 Snowflake DB 作为后端 如果网站闲置时间超过 4 小时 我会遇到 Snowflake 身份验证令牌过期问题 我在谷歌上查了一下并找到了答案 https gi