-
Notifications
You must be signed in to change notification settings - Fork 14
NoCredentialsError, include an actual Data set provider. #73
Description
Running the code as is throws a NoCredentialsError. More details below:
`---------------------------------------------------------------------------
NoCredentialsError Traceback (most recent call last)
Input In [5], in <cell line: 20>()
16 PATH = '/'
17 QUERY_STRING_PARAMETERS = {'param1': 'value1', 'param2': 'value2'}
---> 20 response = CLIENT.send_api_asset(
21 DataSetId=DATA_SET_ID,
22 RevisionId=REVISION_ID,
23 AssetId=ASSET_ID,
24 Method=METHOD,
25 Path=PATH,
26 Body=BODY,
27 QueryStringParameters=QUERY_STRING_PARAMETERS
28 )
30 print('Response Headers:')
31 for header in response['ResponseHeaders']:
File ~\anaconda3\lib\site-packages\botocore\client.py:401, in ClientCreator._create_api_method.._api_call(self, *args, **kwargs)
398 raise TypeError(
399 "%s() only accepts keyword arguments." % py_operation_name)
400 # The "self" in this scope is referring to the BaseClient.
--> 401 return self._make_api_call(operation_name, kwargs)
File ~\anaconda3\lib\site-packages\botocore\client.py:717, in BaseClient._make_api_call(self, operation_name, api_params)
715 else:
716 apply_request_checksum(request_dict)
--> 717 http, parsed_response = self._make_request(
718 operation_model, request_dict, request_context)
720 self.meta.events.emit(
721 'after-call.{service_id}.{operation_name}'.format(
722 service_id=service_id,
(...)
725 model=operation_model, context=request_context
726 )
728 if http.status_code >= 300:
File ~\anaconda3\lib\site-packages\botocore\client.py:737, in BaseClient._make_request(self, operation_model, request_dict, request_context)
735 def _make_request(self, operation_model, request_dict, request_context):
736 try:
--> 737 return self._endpoint.make_request(operation_model, request_dict)
738 except Exception as e:
739 self.meta.events.emit(
740 'after-call-error.{service_id}.{operation_name}'.format(
741 service_id=self._service_model.service_id.hyphenize(),
742 operation_name=operation_model.name),
743 exception=e, context=request_context
744 )
File ~\anaconda3\lib\site-packages\botocore\endpoint.py:107, in Endpoint.make_request(self, operation_model, request_dict)
104 def make_request(self, operation_model, request_dict):
105 logger.debug("Making request for %s with params: %s",
106 operation_model, request_dict)
--> 107 return self._send_request(request_dict, operation_model)
File ~\anaconda3\lib\site-packages\botocore\endpoint.py:180, in Endpoint._send_request(self, request_dict, operation_model)
178 context = request_dict['context']
179 self._update_retries_context(context, attempts)
--> 180 request = self.create_request(request_dict, operation_model)
181 success_response, exception = self._get_response(
182 request, operation_model, context)
183 while self._needs_retry(attempts, operation_model, request_dict,
184 success_response, exception):
File ~\anaconda3\lib\site-packages\botocore\endpoint.py:120, in Endpoint.create_request(self, params, operation_model)
116 service_id = operation_model.service_model.service_id.hyphenize()
117 event_name = 'request-created.{service_id}.{op_name}'.format(
118 service_id=service_id,
119 op_name=operation_model.name)
--> 120 self._event_emitter.emit(event_name, request=request,
121 operation_name=operation_model.name)
122 prepared_request = self.prepare_request(request)
123 return prepared_request
File ~\anaconda3\lib\site-packages\botocore\hooks.py:358, in EventAliaser.emit(self, event_name, **kwargs)
356 def emit(self, event_name, **kwargs):
357 aliased_event_name = self._alias_event_name(event_name)
--> 358 return self._emitter.emit(aliased_event_name, **kwargs)
File ~\anaconda3\lib\site-packages\botocore\hooks.py:229, in HierarchicalEmitter.emit(self, event_name, **kwargs)
218 def emit(self, event_name, **kwargs):
219 """
220 Emit an event by name with arguments passed as keyword args.
221
(...)
227 handlers.
228 """
--> 229 return self._emit(event_name, kwargs)
File ~\anaconda3\lib\site-packages\botocore\hooks.py:212, in HierarchicalEmitter._emit(self, event_name, kwargs, stop_on_response)
210 for handler in handlers_to_call:
211 logger.debug('Event %s: calling handler %s', event_name, handler)
--> 212 response = handler(**kwargs)
213 responses.append((handler, response))
214 if stop_on_response and response is not None:
File ~\anaconda3\lib\site-packages\botocore\signers.py:95, in RequestSigner.handler(self, operation_name, request, **kwargs)
90 def handler(self, operation_name=None, request=None, **kwargs):
91 # This is typically hooked up to the "request-created" event
92 # from a client's event emitter. When a new request is created
93 # this method is invoked to sign the request.
94 # Don't call this method directly.
---> 95 return self.sign(operation_name, request)
File ~\anaconda3\lib\site-packages\botocore\signers.py:167, in RequestSigner.sign(self, operation_name, request, region_name, signing_type, expires_in, signing_name)
164 else:
165 raise e
--> 167 auth.add_auth(request)
File ~\anaconda3\lib\site-packages\botocore\auth.py:401, in SigV4Auth.add_auth(self, request)
399 def add_auth(self, request):
400 if self.credentials is None:
--> 401 raise NoCredentialsError()
402 datetime_now = datetime.datetime.utcnow()
403 request.context['timestamp'] = datetime_now.strftime(SIGV4_TIMESTAMP)
NoCredentialsError: Unable to locate credentials`