At the moment using ConnectorX and polars to extract data from SQL Server into a polars DF. i want to remove SQL credentials and update to using managed identity. Does ConnectorX and polars have support for azure managed identity?
import os
from datetime import datetime, timedelta
from dotenv import load_dotenv
import polars as pl
from timeit import default_timer as timer
load_dotenv()
def extract_from_db():
env_upper = os.environ["envUpp"]
env_lower = env_upper.lower()
username = os.environ["UID"]
password = os.environ["PWD"]
host = f"my_host"
port = "1433"
db = f"nyd_db"
view = "my.view"
conn = f"mssql://{username}:{password}@{host}:{port}/{db}?encrypt=true"
datetime_limit = str(datetime.today() - timedelta(days=365))[:-3]
query = f"SELECT * from {view} WHERE RecordTime > '{datetime_limit}'"
print(query)
start = timer()
data = pl.read_sql(query, conn)
end = timer()
print("time taken to load data into df=", timedelta(seconds=end - start))
num_of_rows = data.shape[0]
num_of_cols = data.shape[1]
print(f"number of columns in df: {num_of_cols}")
print(f"number of rows in df: {num_of_rows}")
return data`