1+ import json
12from skyflow .generated .rest import V1FieldRecords , V1BatchRecord , V1TokenizeRecordRequest , \
23 V1DetokenizeRecordRequest
34from skyflow .utils import SkyflowMessages , parse_insert_response , \
45 handle_exception , parse_update_record_response , parse_delete_response , parse_detokenize_response , \
5- parse_tokenize_response , parse_query_response , parse_get_response , encode_column_values
6+ parse_tokenize_response , parse_query_response , parse_get_response , encode_column_values , get_metrics
7+ from skyflow .utils .constants import SKY_META_DATA_HEADER
68from skyflow .utils .enums import RequestMethod
79from skyflow .utils .logger import log_info , log_error_log
810from skyflow .utils .validations import validate_insert_request , validate_delete_request , validate_query_request , \
@@ -61,6 +63,12 @@ def __build_insert_body(self, request: InsertRequest):
6163 records_list = self .__build_bulk_field_records (request .values , request .tokens )
6264 return records_list
6365
66+ def __get_headers (self ):
67+ headers = {
68+ SKY_META_DATA_HEADER : json .dumps (get_metrics ())
69+ }
70+ return headers
71+
6472 def insert (self , request : InsertRequest ):
6573 log_info (SkyflowMessages .Info .VALIDATE_INSERT_REQUEST .value , self .__vault_client .get_logger ())
6674 validate_insert_request (self .__vault_client .get_logger (), request )
@@ -73,11 +81,11 @@ def insert(self, request: InsertRequest):
7381 log_info (SkyflowMessages .Info .INSERT_TRIGGERED .value , self .__vault_client .get_logger ())
7482 if request .continue_on_error :
7583 api_response = records_api .record_service_batch_operation (self .__vault_client .get_vault_id (),
76- records = insert_body , continue_on_error = request .continue_on_error , byot = request .token_mode .value )
84+ records = insert_body , continue_on_error = request .continue_on_error , byot = request .token_mode .value , request_options = self . __get_headers () )
7785
7886 else :
7987 api_response = records_api .record_service_insert_record (self .__vault_client .get_vault_id (),
80- request .table_name , records = insert_body ,tokenization = request .return_tokens , upsert = request .upsert , homogeneous = request .homogeneous , byot = request .token_mode .value )
88+ request .table_name , records = insert_body ,tokenization = request .return_tokens , upsert = request .upsert , homogeneous = request .homogeneous , byot = request .token_mode .value , request_options = self . __get_headers () )
8189
8290 insert_response = parse_insert_response (api_response , request .continue_on_error )
8391 log_info (SkyflowMessages .Info .INSERT_SUCCESS .value , self .__vault_client .get_logger ())
@@ -104,7 +112,8 @@ def update(self, request: UpdateRequest):
104112 id = request .data .get ("skyflow_id" ),
105113 record = record ,
106114 tokenization = request .return_tokens ,
107- byot = request .token_mode .value
115+ byot = request .token_mode .value ,
116+ request_options = self .__get_headers ()
108117 )
109118 log_info (SkyflowMessages .Info .UPDATE_SUCCESS .value , self .__vault_client .get_logger ())
110119 update_response = parse_update_record_response (api_response )
@@ -124,7 +133,8 @@ def delete(self, request: DeleteRequest):
124133 api_response = records_api .record_service_bulk_delete_record (
125134 self .__vault_client .get_vault_id (),
126135 request .table ,
127- skyflow_ids = request .ids
136+ skyflow_ids = request .ids ,
137+ request_options = self .__get_headers ()
128138 )
129139 log_info (SkyflowMessages .Info .DELETE_SUCCESS .value , self .__vault_client .get_logger ())
130140 delete_response = parse_delete_response (api_response )
@@ -154,6 +164,7 @@ def get(self, request: GetRequest):
154164 download_url = request .download_url ,
155165 column_name = request .column_name ,
156166 column_values = request .column_values ,
167+ request_options = self .__get_headers ()
157168 )
158169 log_info (SkyflowMessages .Info .GET_SUCCESS .value , self .__vault_client .get_logger ())
159170 get_response = parse_get_response (api_response )
@@ -172,7 +183,8 @@ def query(self, request: QueryRequest):
172183 log_info (SkyflowMessages .Info .QUERY_TRIGGERED .value , self .__vault_client .get_logger ())
173184 api_response = query_api .query_service_execute_query (
174185 self .__vault_client .get_vault_id (),
175- query = request .query
186+ query = request .query ,
187+ request_options = self .__get_headers ()
176188 )
177189 log_info (SkyflowMessages .Info .QUERY_SUCCESS .value , self .__vault_client .get_logger ())
178190 query_response = parse_query_response (api_response )
@@ -199,7 +211,8 @@ def detokenize(self, request: DetokenizeRequest):
199211 api_response = tokens_api .record_service_detokenize (
200212 self .__vault_client .get_vault_id (),
201213 detokenization_parameters = tokens_list ,
202- continue_on_error = request .continue_on_error
214+ continue_on_error = request .continue_on_error ,
215+ request_options = self .__get_headers ()
203216 )
204217 log_info (SkyflowMessages .Info .DETOKENIZE_SUCCESS .value , self .__vault_client .get_logger ())
205218 detokenize_response = parse_detokenize_response (api_response )
@@ -223,7 +236,8 @@ def tokenize(self, request: TokenizeRequest):
223236 log_info (SkyflowMessages .Info .TOKENIZE_TRIGGERED .value , self .__vault_client .get_logger ())
224237 api_response = tokens_api .record_service_tokenize (
225238 self .__vault_client .get_vault_id (),
226- tokenization_parameters = records_list
239+ tokenization_parameters = records_list ,
240+ request_options = self .__get_headers ()
227241 )
228242 tokenize_response = parse_tokenize_response (api_response )
229243 log_info (SkyflowMessages .Info .TOKENIZE_SUCCESS .value , self .__vault_client .get_logger ())
0 commit comments