Closed decarv closed 5 years ago
I am trying to download the logs with cw_utils but I keep getting NoRegionError. Does anyone know how I can I fix this?
cw_utils
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.
I will close this as the problem got fixed.
I am trying to download the logs with
cw_utils
but I keep getting NoRegionError. Does anyone know how I can I fix this?