SSL Certificate Error Issue before and after Python 3.11.13 with Databricks Instance
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 25/100
Direção de pesquisa
Comece com a configuração fornecida em pyproject.toml e o ponto de entrada main.py e, em seguida, execute o comando uv em um ambiente Databricks que exija um certificado SSL nas versões do Python listadas. Use results.log e o SSLVerificationError relatado para comparar o comportamento; considera-se concluído quando a consulta de exemplo retornar a contagem de linhas da tabela nas versões afetadas.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Overview
When I try to use different versions of python to connect to a databricks environment, I get an SSL certificate issue. It appears to be resolved in 3.11.13 but is broken in versions below (e.g. 3.11.11) and above (3.12, 3.13). Please note that you will need to test with an environment that require an ssl certificate.
Recreation Steps
- Setup environment as below
- Run script
uv run main.py --python 3.11.11
Expected - The script will output a row count for the specific table
Actual - An SSLVerificationError will happen
Hardware Info
- macOS - 15.5
- chip - Apple M4 Pro
Affected Python Version
- 3.11.11, <3.11.13
- > 3.11.13
Setup
setup uv project
uv init dbks_testing --python
sample uv project template
[project]
name = "dbks-testing"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
"databricks-sqlalchemy>=2.0.6",
]
script to verify issue
you will need to change the table variable to a valid table for your schema
def main():
access_token = os.getenv("DATABRICKS_TOKEN")
server_hostname = os.getenv("DATABRICKS_SERVER_HOSTNAME")
http_path = os.getenv("DATABRICKS_HTTP_PATH")
catalog = os.getenv("DATABRICKS_CATALOG")
schema = os.getenv("DATABRICKS_SCHEMA")
engine = create_engine(
url=f"databricks://token:{access_token}@{server_hostname}?" +
f"http_path={http_path}&catalog={catalog}&schema={schema}"
)
session = Session(engine)
account = Table(table, MetaData(schema=schema), autoload_with=engine)
print(f"Table count for {account.name} is {session.query(account).count()}")
if __name__ == "__main__":
# add logging
logging.getLogger("databricks.sql").setLevel(logging.DEBUG)
logging.basicConfig(filename="results.log",
level=logging.DEBUG,
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s")
# set variables need for main
table = "account"
main()
Run command in project
uv run main.py --python 3.11.11
- Linguagem predominante
- Python
- Estrelas
- 233
- Forks
- 152
- Merge médio
- 21h 5min
- PRs com merge (30d)
- 10
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de databricks/databricks-sql-python
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
Todas as issues de databricks/databricks-sql-python
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
-
🐛 Bug 🔔 Pending processing
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
jumpserver/jumpserver#17584 ·