-
-
Notifications
You must be signed in to change notification settings - Fork 247
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
Describe the bug
Upon running the script below, I got this error:
Traceback (most recent call last):
File "/path/to/project/lib/python3.8/site-packages/cachetools/__init__.py", line 68, in __getitem__
return self.__data[key]
KeyError: 'role_d628c45d0b65e289e3bc9ec298d1c7c0'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/path/to/project/lib/python3.8/site-packages/sp_api/base/client.py", line 112, in role
role = role_cache[cache_key]
File "/path/to/project/lib/python3.8/site-packages/cachetools/__init__.py", line 418, in __getitem__
return cache_getitem(self, key)
File "/path/to/project/lib/python3.8/site-packages/cachetools/__init__.py", line 70, in __getitem__
return self.__missing__(key)
File "/path/to/project/lib/python3.8/site-packages/cachetools/__init__.py", line 97, in __missing__
raise KeyError(key)
KeyError: 'role_d628c45d0b65e289e3bc9ec298d1c7c0'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "test.py", line 14, in <module>
order = order_client.get_order('113-4849434-1328255')
File "/path/to/project/lib/python3.8/site-packages/sp_api/base/helpers.py", line 21, in wrapper
return function(*args, **kwargs)
File "/path/to/project/lib/python3.8/site-packages/sp_api/api/orders/orders.py", line 95, in get_order
return self._request(fill_query_params(kwargs.pop('path'), order_id), params={**kwargs}, add_marketplace=False)
File "/path/to/project/lib/python3.8/site-packages/sp_api/base/client.py", line 153, in _request
auth=self._sign_request(),
File "/path/to/project/lib/python3.8/site-packages/sp_api/base/client.py", line 122, in _sign_request
role = self.role
File "/path/to/project/lib/python3.8/site-packages/sp_api/base/client.py", line 114, in role
role = self.set_role(cache_key)
File "/path/to/project/lib/python3.8/site-packages/sp_api/base/client.py", line 81, in set_role
role = self.boto3_client.assume_role(
File "/path/to/project/lib/python3.8/site-packages/botocore/client.py", line 530, in _api_call
return self._make_api_call(operation_name, kwargs)
File "/path/to/project/lib/python3.8/site-packages/botocore/client.py", line 960, in _make_api_call
raise error_class(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (AccessDenied) when calling the AssumeRole operation: Roles may not be assumed by root accounts.
test.py
from sp_api.base import Marketplaces
from sp_api.api import Orders
credentials = dict( ... )
order_client = Orders(credentials=credentials)
order = order_client.get_order('...')
print(order)
To Reproduce
Steps to reproduce the behavior:
- Follow steps 1-5 at https://developer-docs.amazon.com/sp-api/docs/creating-and-configuring-iam-policies-and-entities
- Create test.py (see code above)
- Execute
python test.py
Expected behavior
I expected to see a printout of the order data.
Desktop (please complete the following information):
- OS: Linux (Ubuntu 20.04.3)
Additional context
Python 3.8.10
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working