NoSuchEntityException: произошла ошибка (NoSuchEntity) при вызове операции GetRole: пользователь с именем <имя> не может быть найден

Позвонить get_execution_role() из экземпляра записной книжки происходит сбой с сообщением об ошибке NoSuchEntityException: An error occurred (NoSuchEntity) when calling the GetRole operation: The user with name <name> cannot be found.

Трассировки стека:

NoSuchEntityExceptionTraceback (most recent call last)
<ipython-input-1-1e2d3f162cfe> in <module>()
      5 sagemaker_session = sagemaker.Session()
      6 
----> 7 role = get_execution_role()

/home/ec2-user/anaconda3/envs/tensorflow_p27/lib/python2.7/site-packages/sagemaker/session.pyc in get_execution_role(sagemaker_session)
    871     if not sagemaker_session:
    872         sagemaker_session = Session()
--> 873     arn = sagemaker_session.get_caller_identity_arn()
    874 
    875     if 'role' in arn:

/home/ec2-user/anaconda3/envs/tensorflow_p27/lib/python2.7/site-packages/sagemaker/session.pyc in get_caller_identity_arn(self)
    701         # Call IAM to get the role's path
    702         role_name = role[role.rfind('/') + 1:]
--> 703         role = self.boto_session.client('iam').get_role(RoleName=role_name)['Role']['Arn']
    704 
    705         return role

/home/ec2-user/anaconda3/envs/tensorflow_p27/lib/python2.7/site-packages/botocore/client.pyc in _api_call(self, *args, **kwargs)
    312                     "%s() only accepts keyword arguments." % py_operation_name)
    313             # The "self" in this scope is referring to the BaseClient.
--> 314             return self._make_api_call(operation_name, kwargs)
    315 
    316         _api_call.__name__ = str(py_operation_name)

/home/ec2-user/anaconda3/envs/tensorflow_p27/lib/python2.7/site-packages/botocore/client.pyc in _make_api_call(self, operation_name, api_params)
    610             error_code = parsed_response.get("Error", {}).get("Code")
    611             error_class = self.exceptions.from_code(error_code)
--> 612             raise error_class(parsed_response, operation_name)
    613         else:
    614             return parsed_response

NoSuchEntityException: An error occurred (NoSuchEntity) when calling the GetRole operation: The user with name <name> cannot be found.

Однако использование boto-клиента напрямую для получения информации о роли успешно завершено. Это отлично работает:

response = client.get_role(
    RoleName='role-name',
)['Role']['Arn']

1 ответ

Оказывается, это странная ошибка, которая исчезнет, ​​если вы остановите и запустите экземпляр ноутбука.

Я выключил и снова запустил ноутбук, и он работает.

PD: Мне нужно снова запустить код, чтобы он начал действовать.

Другие вопросы по тегам