无法使用 Python 连接器和外部浏览器身份验证器连接到 Snowflake

2024-04-16

我正在尝试使用 Python 连接器和 SSO 连接到 Snowflake。我希望连接器打开浏览器来验证用户身份,但这不起作用:

h:\Code\bin>python conn.py
Initiating login request with your identity provider. A browser window should have opened for you to complete the login. If you can't see it, check existing browser windows, or your OS settings. Press CTRL+C to abort and try again...

浏览器窗口永远不会弹出,而是立即得到以下内容

Traceback (most recent call last):
  File "conn.py", line 9, in <module>
    authenticator='externalbrowser'
  File "C:\Users\<user>\AppData\Local\Programs\Python\Python36\lib\site-packages\snowflake\connector\__init__.py", line 53, in Connect
    return SnowflakeConnection(**kwargs)
  File "C:\Users\<user>\AppData\Local\Programs\Python\Python36\lib\site-packages\snowflake\connector\connection.py", line 187, in __init__
    self.connect(**kwargs)
  File "C:\Users\<user>\AppData\Local\Programs\Python\Python36\lib\site-packages\snowflake\connector\connection.py", line 484, in connect
    self.__open_connection()
  File "C:\Users\<user>\AppData\Local\Programs\Python\Python36\lib\site-packages\snowflake\connector\connection.py", line 699, in __open_connection
    self.__authenticate(auth_instance)
  File "C:\Users\<user>\AppData\Local\Programs\Python\Python36\lib\site-packages\snowflake\connector\connection.py", line 922, in __authenticate
    password=self._password,
  File "C:\Users\<user>\AppData\Local\Programs\Python\Python36\lib\site-packages\snowflake\connector\auth_webbrowser.py", line 104, in authenticate
    authenticator, service_name, account, callback_port, user)
  File "C:\Users\<user>\AppData\Local\Programs\Python\Python36\lib\site-packages\snowflake\connector\auth_webbrowser.py", line 305, in _get_sso_url
    socket_timeout=self._rest._connection.login_timeout)
  File "C:\Users\<user>\AppData\Local\Programs\Python\Python36\lib\site-packages\snowflake\connector\network.py", line 530, in _post_request
    _include_retry_params=_include_retry_params)
  File "C:\Users\<user>\AppData\Local\Programs\Python\Python36\lib\site-packages\snowflake\connector\network.py", line 609, in fetch
    **kwargs)
  File "C:\Users\<user>\AppData\Local\Programs\Python\Python36\lib\site-packages\snowflake\connector\network.py", line 711, in _request_exec_wrapper
    raise e
  File "C:\Users\<user>\AppData\Local\Programs\Python\Python36\lib\site-packages\snowflake\connector\network.py", line 653, in _request_exec_wrapper
    method, full_url, headers, data, conn)
  File "C:\Users\<user>\AppData\Local\Programs\Python\Python36\lib\site-packages\snowflake\connector\network.py", line 758, in _handle_unknown_error
    u'errno': ER_FAILED_TO_REQUEST,
  File "C:\Users\<user>\AppData\Local\Programs\Python\Python36\lib\site-packages\snowflake\connector\errors.py", line 100, in errorhandler_wrapper
    connection.errorhandler(connection, cursor, errorclass, errorvalue)
  File "C:\Users\<user>\AppData\Local\Programs\Python\Python36\lib\site-packages\snowflake\connector\errors.py", line 73, in default_errorhandler
    done_format_msg=errorvalue.get(u'done_format_msg'))
snowflake.connector.errors.OperationalError: 250003: Failed to get the response. Hanging? method: post, url: https://<ACCOUNT>:443/session/authenticator-request?request_guid=<guid>

剧本:

import snowflake.connector
con = snowflake.connector.connect(
    user='XXXX',
    password='XXXX',
    account='My account>',
    warehouse='DEMO_WH',
    database='DEV',
    schema='TPCH_SF1000',
    authenticator='externalbrowser'
)
>python --version
Python 3.6.5
>>pip3 list
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
agate (1.6.1)
asn1crypto (1.3.0)
attrs (19.3.0)
azure-common (1.1.25)
azure-core (1.7.0)
azure-storage-blob (2.1.0)
azure-storage-common (2.1.0)
Babel (2.8.0)
boto3 (1.11.17)
botocore (1.14.17)
cachetools (4.1.1)
certifi (2020.6.20)
cffi (1.13.2)
chardet (3.0.4)
colorama (0.4.3)
cryptography (2.9.2)
cx-Oracle (8.0.0)
dataclasses (0.6)
dbt (0.17.0)
dbt-bigquery (0.17.0)
dbt-core (0.17.0)
dbt-postgres (0.17.0)
dbt-redshift (0.17.0)
dbt-snowflake (0.17.0)
decorator (4.4.2)
docutils (0.15.2)
google-api-core (1.16.0)
google-auth (1.19.0)
google-cloud-bigquery (1.24.0)
google-cloud-core (1.3.0)
google-resumable-media (0.5.1)
googleapis-common-protos (1.6.0)
hologram (0.0.7)
idna (2.8)
ijson (2.6.1)
importlib-metadata (1.7.0)
isodate (0.6.0)
Jinja2 (2.11.2)
jmespath (0.10.0)
json-rpc (1.13.0)
jsonschema (3.1.1)
leather (0.3.3)
Logbook (1.5.3)
MarkupSafe (1.1.1)
minimal-snowplow-tracker (0.0.2)
msrest (0.6.17)
networkx (2.4)
oauthlib (3.1.0)
oscrypto (1.2.0)
parsedatetime (2.6)
pip (9.0.3)
protobuf (3.11.3)
psycopg2-binary (2.8.5)
pyasn1 (0.4.8)
pyasn1-modules (0.2.8)
pycparser (2.20)
pycryptodomex (3.9.8)
PyJWT (1.7.1)
pyOpenSSL (19.1.0)
pyrsistent (0.16.0)
python-dateutil (2.8.1)
python-slugify (4.0.1)
pytimeparse (1.1.8)
pytz (2020.1)
PyYAML (5.3.1)
requests (2.22.0)
requests-oauthlib (1.3.0)
rsa (4.6)
s3transfer (0.3.3)
setuptools (39.0.1)
six (1.15.0)
snowflake-connector-python (2.2.1)
sqlparse (0.3.1)
text-unidecode (1.3)
typing-extensions (3.7.4.2)
urllib3 (1.25.9)
Werkzeug (0.16.1)
zipp (3.1.0) 

我可以确认我可以使用 DBD::ODBC 与 Perl 连接,因此外部浏览器验证器原则上可以工作,但我只是不确定为什么它不适用于 Python


None

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

无法使用 Python 连接器和外部浏览器身份验证器连接到 Snowflake 的相关文章

随机推荐

  • AdMob 刷新请求

    我有几个令我困惑的问题 谁最负责广告刷新 加载请求后bannerView load GADRequest 让开发者或 Google 进行监控是最佳做法吗 刷新时间应该短至 30 秒还是至少 60 秒 他们建议 60 秒 但给你选择 30 秒
  • Azure 部署错误:找不到 ClientPerfCountersInstaller.exe

    我最近尝试在现有站点和部署上设置 Azure 预览缓存 但由于错误而不得不中止 但是从那时起 当我尝试部署到 Azure 时 我会收到以下错误 找不到名为的文件approot bin Microsoft WindowsAzure Cachi
  • 逆向工程的汇编语言[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • AWS Kubernetes 集群中出现“创建 pod 沙盒失败”pod 错误

    问题摘要我们曾多次观察到 我们的集群运行时遇到这样的问题 一个或多个节点上的一个或多个 Pod 无法启动 Pod 内的一个或多个容器未启动 Pod 显示 创建 Pod 沙箱失败 错误 在 受影响的 节点上重新启动 docker 或 kube
  • spring boot @controller @transactional 不起作用

    I have Transactional控制器类中的方法如下 主要问题是每个服务调用根据日志在其自己的事务中运行 控制器是否忽略了事务功能 我希望学生记录不会被保存 因为我在使用另一个服务之后抛出异常 但更新仍然发生在数据库中 我什至有 E
  • sklearn 中的 SVM 支持增量(在线)学习吗?

    我目前正在设计一个文本文章推荐系统 有趣 或 不有趣 的二元情况 我的要求之一是它应该不断更新以适应不断变化的趋势 据我所知 最好的方法是利用支持增量 在线学习 http en wikipedia org wiki Online 5fmac
  • HQL 子字符串最后 x 个字符

    我对 Hibernate 很陌生 我想获取字符串的最后 N 个字符 我找到了 substring 方法 但这并没有真正帮助 有人有什么主意吗 TIA 我实际上使用子字符串修复了它 我忘了我可以使用参数 我做了类似的事情 Query q wh
  • 在闪亮选项卡中使用多个 R Markdown 文件

    我正在构建一个闪亮的应用程序 我想要有多个选项卡集 到目前为止我得到的代码告诉我 shinyUI navbarPage OEI Grant tabPanel Part 1 Organization tabsetPanel 1 x tabPa
  • 如何在Swagger open api 3.0中定义常量字符串[重复]

    这个问题在这里已经有答案了 如何在 swagger open api 3 0 中定义常量字符串变量 如果我定义枚举 它将如下所示 StatusCode title StatusCode enum success fail type stri
  • 使用Golang登录私有站点并提取信息

    我尝试使用 golang 登录网站的私人区域并提取一些信息 但我似乎不太正确 我设法获取登录页面以获取 csrf 令牌 然后将 csrf 令牌与登录信息一起发布到登录页面 然后我就可以正常登录了 如果我在此时停止 我可以看到我被重定向的页面
  • 当尝试使用 Webdriver 通过 linkText 查找链接时,有没有办法忽略大写字母?

    我正在使用 Selenium 2 Webdriver 我想单击一个链接 但链接文本可以是 Linktext 或 LINKTEXT 还有比这更好的方法吗 List
  • 具有大量输入数据的 REST 端点 (GET)

    我正在开发一个应用程序 我需要将对象列表传递到 REST 端点 该端点将执行一些计算并将结果返回给调用者 问题更多的是一个哲学问题 即如何处理这种情况 在 GET 请求中传递巨大的负载是一个坏主意 同时 它并不是真正的 POST PUT 请
  • 在表单提交上显示 Twitter Bootstrap 模式

    我试图在提交表单时显示模式 并满足某些条件 例如 表单有两个文本字段 如果其中一个已填写 则模式将向用户显示一些信息 如果两个字段均未填写 则表单将不会提交 为此我这样做了但没有成功 jsfiddle jsFiddle 链接 http js
  • 创建二叉树的时间复杂度

    我正在尝试从提供的源创建一棵树 要添加到树中的 2 个节点 以及应添加这 2 个新闻节点的节点 为了找到该节点在树中的位置 我使用了中序遍历 该遍历的时间复杂度为 O n 因此 如果要在树中添加 n 个节点 则创建整个树的时间复杂度为 O
  • 如何在 R 数据库中将相似的字符串分组在一起

    我的小标题只有 1 列 称为 标题 gt dat A tibble 13 x 1 title
  • 在 ITextSharp 免费许可证下动态创建 .pdf

    在 ASP NET C 网站 服务器中 我使用名为 ITextSharp 的 pdf 创建器库来创建包含有关产品的文本和一些图像的 pdf 像往常一样 老板不想购买许可证 我知道如果我使用 ITextSharp 版本 4 1 6 或更低版本
  • BlazeDS 中的多个频道

    我正在尝试设置一个场景 其中 Flex 应用程序将能够使用在实现 BlazeDS 的两个不同 Web 应用程序中编写的资源 我最初尝试这样做在我的 mxml 代码中指定通道集 https stackoverflow com question
  • 无法在 Visual Studio 中将 Ajax Minifier 作为构建后运行

    我已经设置了构建后配置 如所示http www asp net ajaxlibrary ajaxminquickstart ashx http www asp net ajaxlibrary ajaxminquickstart ashx 但
  • Oracle SQL 查询中的表需要排序逻辑

    我有一个订单ORDER 1从MFG 1并前往PORT B 订单通过不同的地点移动 并在某些地点之间进行处理和维护 在此示例中 它分为 7 批货物 如果货物在同一地点停留数天 则运输模式为 处理 目标数据 https i stack imgu
  • 无法使用 Python 连接器和外部浏览器身份验证器连接到 Snowflake

    我正在尝试使用 Python 连接器和 SSO 连接到 Snowflake 我希望连接器打开浏览器来验证用户身份 但这不起作用 h Code bin gt python conn py Initiating login request wi