我进行了广泛的搜索,但什么都不起作用。代码如下:
from impala.dbapi import connect
conn = connect(host = 'myhost', port = 21050, auth_mechanism = 'GSSAPI', kerberos_service_name = 'impala')
cursor = conn.cursor()
TTransportException: TTransportException(type=1, message="Could not start SASL: b'Error in sasl_client_start (-4) SASL(-4): no mechanism available: Unable to find a callback: 2'")
已经尝试了以下的许多不同版本,但目前这里有任何可能的相关库:
Python 3.6.9
impyla 0.14.0
纯sasl 0.6.2
pysasl 0.5.0
sasl 0.2.1
节俭0.13.0
节俭sasl 0.3.0
节俭0.3.9
节俭2 0.4.8
如有任何帮助,我们将不胜感激。
我在python上尝试了多个库,但在尝试从windows机器进行身份验证时失败。没有简单的方法。Kerberos库主要在Linux上工作。Windows的解决方案不起作用。那么解决这个问题的办法是什么呢。好在罗马时是个罗马人。试试Python中的windows原生库。
import sys
import clr
from System.Net.Http import *
myClienthandler = HttpClientHandler()
myClienthandler.UseDefaultCredentials = True
myClient = HttpClient(myClienthandler)
x = myClient.GetStringAsync("putyourURLwithinthequoteshere")
myresult = x.Result
print(myresult)
请注意,这个python脚本必须由有权访问您尝试访问的URL的用户运行。通过将UseDefaultCredentials
属性设置为True
,可以为登录用户传递Kerberos票证。