Я развернул конечную точку в Amazon SageMaker.
Теперь я пытаюсь вызвать его.
Если я запускаю этот код в Sagemaker's Jupyter Notebook:
client = boto3.client('sagemaker-runtime')
endpoint_name = 'DEMO-XGBoostEndpoint'
body = ','.join(['1.0'] * 6)
response = client.invoke_endpoint(EndpointName=endpoint_name,
ContentType='text/csv',
Body=body)
response['Body'].read()
работает нормально.
Но если я запускаю тот же код с добавленными учетными данными для клиента boto3 с моей машины:
client = boto3.client('sagemaker-runtime',
aws_access_key_id=ACCESS_ID,
aws_secret_access_key= ACCESS_KEY)
endpoint_name = 'DEMO-XGBoostEndpoint'
body = ','.join(['1.0'] * 6)
response = client.invoke_endpoint(EndpointName=endpoint_name,
ContentType='text/csv',
Body=body)
response['Body'].read()
Я получаю эту ошибку:
ClientError: Произошла ошибка (AccessDeniedException) при вызове операции InvokeEndpoint: пользователь: arn: aws: iam :: 249707424405: пользователь / yury.logachev не авторизован для выполнения: sagemaker: InvokeEndpoint на ресурсе: arn: aws: sagemaker : us-east-1: 249707424405: конечная точка / demo-xgboostendpoint-2018-12-12-22-07-28 с явным отказом
Если я запускаю последний фрагмент кода (с добавленными учетными данными в качестве параметров клиента) в Sagemaker's Jupyter Notebook, я также получаю ту же ошибку.
Я понимаю, что решение должно быть связано с ролями, политиками и т. Д., Но не смог его найти.