@@ -176,3 +176,27 @@ def bulk_export(self, queries: Optional[List[Query]] = None):
176176 else :
177177 return ErrorResponse (response = r , response_json = r .json ())
178178 return r
179+
180+ def bulk_service (self , queries : Optional [List [Query ]] = None ):
181+ url = "%s/bulk/service" % (self .base_url )
182+ if queries is None or len (queries ) == 0 :
183+ serialized_query = EmptyQuery ().serialize ()
184+ else :
185+ serialized_query = [q .serialize () for q in queries ]
186+ serialized_query = " " .join (serialized_query )
187+ serialized_query = "%s" % serialized_query
188+ params = {"q" : serialized_query }
189+ r = requests .get (url , params = params , headers = self .headers , stream = True )
190+ if r .status_code == 200 :
191+ response_json = []
192+ for line in r .iter_lines ():
193+ json_event = json .loads (line )
194+ response_json .append (l9format .L9Event .from_dict (json_event ))
195+ return SuccessResponse (response = r , response_json = response_json )
196+ elif r .status_code == 429 :
197+ return RateLimitResponse (response = r )
198+ elif r .status_code == 204 :
199+ return ErrorResponse (response = r , response_json = [], status_code = 200 )
200+ else :
201+ return ErrorResponse (response = r , response_json = r .json ())
202+ return r
0 commit comments