【发布时间】:2019-01-17 02:44:23
【问题描述】:
我在 Amazon SageMaker 上部署了一个终端节点。 现在我正在尝试调用它。
如果我在 Sagemaker 的 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:调用 InvokeEndpoint 操作时发生错误 (AccessDeniedException):用户:arn:aws:iam::249707424405:user/yury.logachev 无权执行:sagemaker:InvokeEndpoint on resource:arn:aws:sagemaker :us-east-1:249707424405:endpoint/demo-xgboostendpoint-2018-12-12-22-07-28 明确拒绝
如果我在 Sagemaker 的 Jupyter Notebook 上运行后一段代码(添加凭据作为客户端的参数),我也会收到相同的错误。
我知道解决方案应该与角色、策略等相关联,但找不到。
【问题讨论】:
标签: amazon-web-services web amazon-sagemaker