Skip to content

Commit 1c50a54

Browse files
committed
feat: enable lazy refresh for postgres, mysql and sql server connectors
1 parent 4e0938f commit 1c50a54

File tree

5 files changed

+15
-10
lines changed

5 files changed

+15
-10
lines changed

cloud-sql/mysql/sqlalchemy/connect_connector.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
# [START cloud_sql_mysql_sqlalchemy_connect_connector]
1616
import os
1717

18-
from google.cloud.sql.connector import Connector, IPTypes
18+
from google.cloud.sql.connector import Connector, IPTypes, RefreshStrategy
1919
import pymysql
2020

2121
import sqlalchemy
@@ -40,8 +40,9 @@ def connect_with_connector() -> sqlalchemy.engine.base.Engine:
4040
db_name = os.environ["DB_NAME"] # e.g. 'my-database'
4141

4242
ip_type = IPTypes.PRIVATE if os.environ.get("PRIVATE_IP") else IPTypes.PUBLIC
43+
refresh_strategy = RefreshStrategy.LAZY
4344

44-
connector = Connector(ip_type)
45+
connector = Connector(ip_type = ip_type, refresh_strategy = refresh_strategy)
4546

4647
def getconn() -> pymysql.connections.Connection:
4748
conn: pymysql.connections.Connection = connector.connect(

cloud-sql/mysql/sqlalchemy/connect_connector_auto_iam_authn.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
# [START cloud_sql_mysql_sqlalchemy_auto_iam_authn]
1616
import os
1717

18-
from google.cloud.sql.connector import Connector, IPTypes
18+
from google.cloud.sql.connector import Connector, IPTypes, RefreshStrategy
1919
import pymysql
2020

2121
import sqlalchemy
@@ -38,9 +38,10 @@ def connect_with_connector_auto_iam_authn() -> sqlalchemy.engine.base.Engine:
3838
db_name = os.environ["DB_NAME"] # e.g. 'my-database'
3939

4040
ip_type = IPTypes.PRIVATE if os.environ.get("PRIVATE_IP") else IPTypes.PUBLIC
41+
refresh_strategy = RefreshStrategy.LAZY
4142

4243
# initialize Cloud SQL Python Connector object
43-
connector = Connector()
44+
connector = Connector(refresh_strategy = refresh_strategy)
4445

4546
def getconn() -> pymysql.connections.Connection:
4647
conn: pymysql.connections.Connection = connector.connect(

cloud-sql/postgres/sqlalchemy/connect_connector.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
# [START cloud_sql_postgres_sqlalchemy_connect_connector]
1616
import os
1717

18-
from google.cloud.sql.connector import Connector, IPTypes
18+
from google.cloud.sql.connector import Connector, IPTypes, RefreshStrategy
1919
import pg8000
2020

2121
import sqlalchemy
@@ -40,9 +40,10 @@ def connect_with_connector() -> sqlalchemy.engine.base.Engine:
4040
db_name = os.environ["DB_NAME"] # e.g. 'my-database'
4141

4242
ip_type = IPTypes.PRIVATE if os.environ.get("PRIVATE_IP") else IPTypes.PUBLIC
43+
refresh_strategy = RefreshStrategy.LAZY
4344

4445
# initialize Cloud SQL Python Connector object
45-
connector = Connector()
46+
connector = Connector(refresh_strategy = refresh_strategy)
4647

4748
def getconn() -> pg8000.dbapi.Connection:
4849
conn: pg8000.dbapi.Connection = connector.connect(

cloud-sql/postgres/sqlalchemy/connect_connector_auto_iam_authn.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
# [START cloud_sql_postgres_sqlalchemy_auto_iam_authn]
1616
import os
1717

18-
from google.cloud.sql.connector import Connector, IPTypes
18+
from google.cloud.sql.connector import Connector, IPTypes, RefreshStrategy
1919
import pg8000
2020

2121
import sqlalchemy
@@ -38,9 +38,10 @@ def connect_with_connector_auto_iam_authn() -> sqlalchemy.engine.base.Engine:
3838
db_name = os.environ["DB_NAME"] # e.g. 'my-database'
3939

4040
ip_type = IPTypes.PRIVATE if os.environ.get("PRIVATE_IP") else IPTypes.PUBLIC
41+
refresh_strategy = RefreshStrategy.LAZY
4142

4243
# initialize Cloud SQL Python Connector object
43-
connector = Connector()
44+
connector = Connector(refresh_strategy = refresh_strategy)
4445

4546
def getconn() -> pg8000.dbapi.Connection:
4647
conn: pg8000.dbapi.Connection = connector.connect(

cloud-sql/sql-server/sqlalchemy/connect_connector.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
# [START cloud_sql_sqlserver_sqlalchemy_connect_connector]
1616
import os
1717

18-
from google.cloud.sql.connector import Connector, IPTypes
18+
from google.cloud.sql.connector import Connector, IPTypes, RefreshStrategy
1919
import pytds
2020

2121
import sqlalchemy
@@ -40,8 +40,9 @@ def connect_with_connector() -> sqlalchemy.engine.base.Engine:
4040
db_name = os.environ["DB_NAME"] # e.g. 'my-database'
4141

4242
ip_type = IPTypes.PRIVATE if os.environ.get("PRIVATE_IP") else IPTypes.PUBLIC
43+
refresh_strategy = RefreshStrategy.LAZY
4344

44-
connector = Connector(ip_type)
45+
connector = Connector(ip_type = ip_type, refresh_strategy = refresh_strategy)
4546

4647
connect_args = {}
4748
# If your SQL Server instance requires SSL, you need to download the CA

0 commit comments

Comments
 (0)