@@ -34,41 +34,34 @@ def connect_tcp_socket() -> sqlalchemy.engine.base.Engine:
34
34
db_name = os .environ ["DB_NAME" ] # e.g. 'my-database'
35
35
db_port = os .environ ["DB_PORT" ] # e.g. 1433
36
36
37
- # [END cloud_sql_sqlserver_sqlalchemy_sslcerts]
38
- driver_name = "mssql+pytds"
39
- query = {
40
- "driver" : "ODBC Driver 17 for SQL Server"
41
- }
42
37
# [END cloud_sql_sqlserver_sqlalchemy_connect_tcp]
43
- # [START cloud_sql_sqlserver_sqlalchemy_sslcerts]
38
+ # [START_EXCLUDE]
39
+ connect_args = {}
40
+ # [END_EXCLUDE]
44
41
# For deployments that connect directly to a Cloud SQL instance without
45
42
# using the Cloud SQL Proxy, configuring SSL certificates will ensure the
46
43
# connection is encrypted.
47
44
if os .environ .get ("DB_ROOT_CERT" ): # e.g. '/path/to/my/server-ca.pem'
48
- driver_name = "mssql+pyodbc"
49
- query = {
50
- "driver" : "ODBC Driver 17 for SQL Server" ,
51
- "Encrypt" : "yes" ,
52
- "Trusted_Connection" : "no"
53
- }
54
- if os .environ .get ("CLOUD_SQL_AUTH_PROXY_IP_ADDRESS_TYPE" ) == "PRIVATE" :
55
- driver_name = "mssql+pyodbc"
56
- query = {
57
- "driver" : "ODBC Driver 17 for SQL Server"
45
+ connect_args = {
46
+ "cafile" : os .environ ["DB_ROOT_CERT" ],
47
+ "validate_host" : False ,
58
48
}
49
+
59
50
# [START cloud_sql_sqlserver_sqlalchemy_connect_tcp]
60
51
pool = sqlalchemy .create_engine (
61
52
# Equivalent URL:
62
- # <driver_name> ://<db_user>:<db_pass>@<db_host>:<db_port>/<db_name>?driver=ODBC+Driver+17+for+SQL+Server
53
+ # mssql+pytds ://<db_user>:<db_pass>@<db_host>:<db_port>/<db_name>
63
54
sqlalchemy .engine .url .URL .create (
64
- drivername = driver_name ,
55
+ drivername = "mssql+pytds" ,
65
56
username = db_user ,
66
57
password = db_pass ,
67
58
database = db_name ,
68
59
host = db_host ,
69
60
port = db_port ,
70
- query = query ,
71
61
),
62
+ # [END cloud_sql_sqlserver_sqlalchemy_connect_tcp]
63
+ connect_args = connect_args ,
64
+ # [START cloud_sql_sqlserver_sqlalchemy_connect_tcp]
72
65
# [START_EXCLUDE]
73
66
# [START cloud_sql_sqlserver_sqlalchemy_limit]
74
67
# Pool size is the maximum number of permanent connections to keep.
0 commit comments