diff --git a/data_diff/dbt.py b/data_diff/dbt.py index 6a1ffb9a..94503c58 100644 --- a/data_diff/dbt.py +++ b/data_diff/dbt.py @@ -29,6 +29,7 @@ def import_dbt(): from .tracking import ( set_entrypoint_name, + set_dbt_user_id, create_end_event_json, create_start_event_json, send_event_json, @@ -84,6 +85,7 @@ def dbt_diff( custom_schemas = datadiff_variables.get("custom_schemas") # custom schemas is default dbt behavior, so default to True if the var doesn't exist custom_schemas = True if custom_schemas is None else custom_schemas + set_dbt_user_id(dbt_parser.dbt_user_id) if not is_cloud: dbt_parser.set_connection() @@ -299,6 +301,7 @@ def __init__(self, profiles_dir_override: str, project_dir_override: str, is_clo self.connection = None self.project_dict = self.get_project_dict() self.manifest_obj = self.get_manifest_obj() + self.dbt_user_id = self.manifest_obj.metadata.user_id self.requires_upper = False self.threads = None self.unique_columns = self.get_unique_columns() diff --git a/data_diff/tracking.py b/data_diff/tracking.py index 582ebf24..2f063871 100644 --- a/data_diff/tracking.py +++ b/data_diff/tracking.py @@ -56,6 +56,11 @@ def set_entrypoint_name(s): global entrypoint_name entrypoint_name = s +dbt_user_id = None + +def set_dbt_user_id(s): + global dbt_user_id + dbt_user_id = s def get_anonymous_id(): global g_anonymous_id @@ -78,6 +83,7 @@ def create_start_event_json(diff_options: Dict[str, Any]): "diff_options": diff_options, "data_diff_version:": __version__, "entrypoint_name": entrypoint_name, + "dbt_user_id": dbt_user_id, }, } @@ -112,6 +118,7 @@ def create_end_event_json( "entrypoint_name": entrypoint_name, "is_cloud": is_cloud, "diff_id": diff_id, + "dbt_user_id": dbt_user_id, }, } @@ -122,7 +129,8 @@ def send_event_json(event_json): headers = { "Content-Type": "application/json", - "Authorization": "Basic MkhndE00SGNxOUJtZWlDcU5ZaHo3Tzl0a2pNOg==", + #"Authorization": "Basic MkhndE00SGNxOUJtZWlDcU5ZaHo3Tzl0a2pNOg==", #prod + "Authorization": "Basic MkhnZ2o5NWhOc0JzeFNBNW1IaXJQYkk5d3pXOg==", } data = json.dumps(event_json).encode() try: