3838]
3939
4040
41- def batch_get_events (
42- http_session : requests .AuthorizedSession ,
43- proj_id : str ,
44- proj_instance : str ,
45- proj_region : str ,
46- event_ids : str ) -> None :
47- """Batch get events from Chronicle using the Events BatchGet API.
41+ def batch_get_events (http_session : requests .AuthorizedSession , proj_id : str ,
42+ proj_instance : str , proj_region : str ,
43+ event_ids : str ) -> None :
44+ """Batch get events from Chronicle using the Events BatchGet API.
4845
4946 Args:
5047 http_session: Authorized session for HTTP requests.
@@ -60,50 +57,51 @@ def batch_get_events(
6057 Requires the following IAM permission on the parent resource:
6158 chronicle.events.batchGet
6259 """
63- base_url_with_region = regions .url_always_prepend_region (
64- CHRONICLE_API_BASE_URL ,
65- proj_region
66- )
67- parent = f"projects/{ proj_id } /locations/{ proj_region } /instances/{ proj_instance } "
68- url = f"{ base_url_with_region } /v1alpha/{ parent } /events:batchGet"
69-
70- # Convert event IDs to URL-encoded Base64 and create query parameters
71- event_ids_list = json .loads (event_ids )
72- encoded_ids = [base64 .urlsafe_b64encode (id .encode ()).decode () for id in event_ids_list ]
73- query_params = "&" .join ([f"names={ id } " for id in encoded_ids ])
74-
75- url = f"{ url } ?{ query_params } "
76-
77- response = http_session .request ("GET" , url )
78- if response .status_code >= 400 :
79- print (response .text )
80- response .raise_for_status ()
81-
82- print (json .dumps (response .json (), indent = 2 ))
60+ base_url_with_region = regions .url_always_prepend_region (
61+ CHRONICLE_API_BASE_URL , proj_region )
62+ # pylint: disable=line-too-long
63+ parent = f"projects/{ proj_id } /locations/{ proj_region } /instances/{ proj_instance } "
64+ url = f"{ base_url_with_region } /v1alpha/{ parent } /events:batchGet"
65+ # pylint: enable=line-too-long
66+
67+ # Convert event IDs to URL-encoded Base64 and create query parameters
68+ event_ids_list = json .loads (event_ids )
69+ encoded_ids = [
70+ base64 .urlsafe_b64encode (id .encode ()).decode () for id in event_ids_list
71+ ]
72+ query_params = "&" .join ([f"names={ id } " for id in encoded_ids ])
73+
74+ url = f"{ url } ?{ query_params } "
75+
76+ response = http_session .request ("GET" , url )
77+ if response .status_code >= 400 :
78+ print (response .text )
79+ response .raise_for_status ()
80+
81+ print (json .dumps (response .json (), indent = 2 ))
8382
8483
8584if __name__ == "__main__" :
86- parser = argparse .ArgumentParser ()
87- # common
88- chronicle_auth .add_argument_credentials_file (parser )
89- project_instance .add_argument_project_instance (parser )
90- project_id .add_argument_project_id (parser )
91- regions .add_argument_region (parser )
92- # local
93- parser .add_argument (
94- "--event_ids" ,
95- type = str ,
96- required = True ,
97- help = 'JSON string containing a list of event IDs to retrieve (e.g., \' ["id1", "id2"]\' )' )
98-
99- args = parser .parse_args ()
100- auth_session = chronicle_auth .initialize_http_session (
101- args .credentials_file ,
102- SCOPES ,
103- )
104- batch_get_events (
105- auth_session ,
106- args .project_id ,
107- args .project_instance ,
108- args .region ,
109- args .event_ids )
85+ parser = argparse .ArgumentParser ()
86+ # common
87+ chronicle_auth .add_argument_credentials_file (parser )
88+ project_instance .add_argument_project_instance (parser )
89+ project_id .add_argument_project_id (parser )
90+ regions .add_argument_region (parser )
91+ # local
92+ parser .add_argument (
93+ "--event_ids" ,
94+ type = str ,
95+ required = True ,
96+ help =
97+ 'JSON string containing a list of event IDs to '
98+ 'retrieve (e.g., \' ["id1", "id2"]\' )'
99+ )
100+
101+ args = parser .parse_args ()
102+ auth_session = chronicle_auth .initialize_http_session (
103+ args .credentials_file ,
104+ SCOPES ,
105+ )
106+ batch_get_events (auth_session , args .project_id , args .project_instance ,
107+ args .region , args .event_ids )
0 commit comments