Log downloads NoRegionError.
decarv opened this issue · 1 comments
decarv commented
I am trying to download the logs with cw_utils
but I keep getting NoRegionError. Does anyone know how I can I fix this?
stream_name = 'XXXX'
fname = 'logs/deepracer-%s.log' %stream_name
cw_utils.download_log(fname, stream_prefix=stream_name)
---------------------------------------------------------------------------
NoRegionError Traceback (most recent call last)
<ipython-input-48-da5f8f73ddad> in <module>
----> 1 cw_utils.download_log(fname, stream_prefix=stream_name)
~/projects/deepracer-models/aws-deepracer-workshops/log-analysis/cw_utils.py in download_log(fname, stream_name, stream_prefix, log_group, start_time, end_time)
59 end_time=end_time
60 )
---> 61 for event in logs:
62 f.write(event['message'].rstrip())
63 f.write("\n")
~/projects/deepracer-models/aws-deepracer-workshops/log-analysis/cw_utils.py in get_log_events(log_group, stream_name, stream_prefix, start_time, end_time)
12
13 def get_log_events(log_group, stream_name=None, stream_prefix=None, start_time=None, end_time=None):
---> 14 client = boto3.client('logs')
15 if stream_name is None and stream_prefix is None:
16 print("both stream name and prefix can't be None")
/anaconda3/lib/python3.7/site-packages/boto3/__init__.py in client(*args, **kwargs)
89 See :py:meth:`boto3.session.Session.client`.
90 """
---> 91 return _get_default_session().client(*args, **kwargs)
92
93
/anaconda3/lib/python3.7/site-packages/boto3/session.py in client(self, service_name, region_name, api_version, use_ssl, verify, endpoint_url, aws_access_key_id, aws_secret_access_key, aws_session_token, config)
261 aws_access_key_id=aws_access_key_id,
262 aws_secret_access_key=aws_secret_access_key,
--> 263 aws_session_token=aws_session_token, config=config)
264
265 def resource(self, service_name, region_name=None, api_version=None,
/anaconda3/lib/python3.7/site-packages/botocore/session.py in create_client(self, service_name, region_name, api_version, use_ssl, verify, endpoint_url, aws_access_key_id, aws_secret_access_key, aws_session_token, config)
837 is_secure=use_ssl, endpoint_url=endpoint_url, verify=verify,
838 credentials=credentials, scoped_config=self.get_scoped_config(),
--> 839 client_config=config, api_version=api_version)
840 monitor = self._get_internal_component('monitor')
841 if monitor is not None:
/anaconda3/lib/python3.7/site-packages/botocore/client.py in create_client(self, service_name, region_name, is_secure, endpoint_url, verify, credentials, scoped_config, api_version, client_config)
84 client_args = self._get_client_args(
85 service_model, region_name, is_secure, endpoint_url,
---> 86 verify, credentials, scoped_config, client_config, endpoint_bridge)
87 service_client = cls(**client_args)
88 self._register_retries(service_client)
/anaconda3/lib/python3.7/site-packages/botocore/client.py in _get_client_args(self, service_model, region_name, is_secure, endpoint_url, verify, credentials, scoped_config, client_config, endpoint_bridge)
326 return args_creator.get_client_args(
327 service_model, region_name, is_secure, endpoint_url,
--> 328 verify, credentials, scoped_config, client_config, endpoint_bridge)
329
330 def _create_methods(self, service_model):
/anaconda3/lib/python3.7/site-packages/botocore/args.py in get_client_args(self, service_model, region_name, is_secure, endpoint_url, verify, credentials, scoped_config, client_config, endpoint_bridge)
45 final_args = self.compute_client_args(
46 service_model, client_config, endpoint_bridge, region_name,
---> 47 endpoint_url, is_secure, scoped_config)
48
49 service_name = final_args['service_name']
/anaconda3/lib/python3.7/site-packages/botocore/args.py in compute_client_args(self, service_model, client_config, endpoint_bridge, region_name, endpoint_url, is_secure, scoped_config)
115
116 endpoint_config = endpoint_bridge.resolve(
--> 117 service_name, region_name, endpoint_url, is_secure)
118
119 # Override the user agent if specified in the client config.
/anaconda3/lib/python3.7/site-packages/botocore/client.py in resolve(self, service_name, region_name, endpoint_url, is_secure)
400 region_name = self._check_default_region(service_name, region_name)
401 resolved = self.endpoint_resolver.construct_endpoint(
--> 402 service_name, region_name)
403 if resolved:
404 return self._create_endpoint(
/anaconda3/lib/python3.7/site-packages/botocore/regions.py in construct_endpoint(self, service_name, region_name)
120 for partition in self._endpoint_data['partitions']:
121 result = self._endpoint_for_partition(
--> 122 partition, service_name, region_name)
123 if result:
124 return result
/anaconda3/lib/python3.7/site-packages/botocore/regions.py in _endpoint_for_partition(self, partition, service_name, region_name)
133 region_name = service_data['partitionEndpoint']
134 else:
--> 135 raise NoRegionError()
136 # Attempt to resolve the exact region for this partition.
137 if region_name in service_data['endpoints']:
NoRegionError: You must specify a region.
decarv commented
I will close this as the problem got fixed.