SSL Certificate Error Issue before and after Python 3.11.13 with Databricks Instance
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 25/100
Piste de recherche
Commencez par la configuration fournie dans pyproject.toml et le point d’entrée main.py, puis exécutez la commande uv dans un environnement Databricks qui nécessite un certificat SSL avec les versions de Python indiquées. Utilisez results.log et le SSLVerificationError signalé pour comparer le comportement ; le travail est terminé lorsque la requête d’exemple renvoie le nombre de lignes de sa table sur les versions concernées.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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
- Langage dominant
- Python
- Étoiles
- 233
- Forks
- 152
- Merge moyen
- 21 h 5 min
- PR mergées (30 j)
- 10
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de databricks/databricks-sql-python
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
Toutes les issues de databricks/databricks-sql-python
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
-
🐛 Bug 🔔 Pending processing
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
jumpserver/jumpserver#17584 ·