你好,
我試圖連接到磚工作區使用databricks-sql-connector已啟用IP訪問限製。隻有我的代理服務器ip添加在允許列表中。
從磚導入sql連接= sql。連接(server_hostname = ' adb-random12094383.azuredatabricks.net ', http_path = ' / sql / 1.0 /端點/ randomid’, access_token = <這裏訪問令牌>,)與connection.cursor壞蛋():cur.execute(“顯示模式”)打印(cur.fetchall ())
下麵這個失敗與錯誤
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - RequestError回溯(去年)最近調用輸入[2],在<細胞係:1 > =()- - - - - > 1連接sql。連接(2 server_hostname = ' adb-2961643968016177.17.azuredatabricks.net ', 3 http_path = ' / sql / 1.0 /端點/ 17 a021e95a9e6f25 ', 4 access_token =‘dapi3d97e76ce3de34fb4ea060cf6b068e0a’, 5 http_headers = [(“https_proxy”、“http://proxy-dmz.intel.com: 912”), (“http_proxy”, http://proxy-dmz.intel.com: 912)] 6)文件~ /項目/ python / venv / lib / python3.8 /網站/磚/ sql / __init__。py: 50,在連接(server_hostname、http_path access_token, * * kwargs) 47 def連接(server_hostname, http_path access_token, * * kwargs): 48從.client進口連接- - - > 50返回連接(server_hostname, http_path access_token, * * kwargs)文件~ /項目/ python / venv / lib / python3.8 /網站/磚/ sql /客戶端。py: 129年,在連接。__init__(自我、server_hostname http_path、access_token http_headers, session_configuration,目錄,模式,* * kwargs) 120 base_headers =[(“用戶代理”,useragent_header)] + authorization_header 121自我。thrift_backend = ThriftBackend(122自我。主機,123自己。港口,(…)126 * * 127 (kwargs) - - > 129的自我。_session_handle = self.thrift_backend。open_session (130 session_configuration、目錄模式131)132。133年開放= True logger.info(“成功打開會話”+ str (self.get_session_id()))文件~ /項目/ python / venv / lib / python3.8 /網站/磚/ sql / thrift_backend。py: 444年ThriftBackend。open_session(自我,session_configuration、目錄模式)435 initial_namespace = 437 open_session_req =式。TOpenSessionReq (438 client_protocol_i64 = ttypes.TProtocolVersion。SPARK_CLI_SERVICE_PROTOCOL_V5 439 client_protocol = None(…) 442配置= session_configuration, 443)——> = self.make_request (self._client 444響應。OpenSession open_session_req) 445年的自我。_check_initial_namespace(目錄、模式、響應)446 self._check_protocol_version(響應)文件~ /項目/ python / venv / lib / python3.8 /網站/磚/ sql / thrift_backend。py: 373年ThriftBackend。make_request(自我,方法,請求)371 error_info = response_or_error_info 372 #錯誤處理程序將睡眠或者拋出一個異常,> 373的自我。_handle_request_error (error_info,嚐試運行)文件~ /項目/ python / venv / lib / python3.8 /網站/磚/ sql / thrift_backend。py: 241年ThriftBackend。_handle_request_error(self, error_info, attempt, elapsed) 236 network_request_error = RequestError( 237 user_friendly_error_message, full_error_info_context, error_info.error 238 ) 239 logger.info(network_request_error.message_with_context()) --> 241 raise network_request_error 243 logger.info( 244 "Retrying request after error in {} seconds: {}".format( 245 error_info.retry_delay, full_error_info_context 246 ) 247 ) 248 time.sleep(error_info.retry_delay) RequestError: Error during request to server
我也試著隨著http_headers與代理設置
連接= sql。連接(server_hostname = ' adb-random12094383.azuredatabricks.net ', http_path = ' / sql / 1.0 /端點/ randomid’, access_token = <這裏訪問令牌>,http_headers = [(“https_proxy”、“proxy.mydomain.com: 912”), (“http_proxy”、“proxy.mydomain.com: 912”)))
仍然不能使用相同的錯誤。
如何通過代理設置磚Python SQL的連接器?