AWS Sagemaker + AWS Lambda
AWS Sagemaker + AWS Lambda
我尝试按照文档使用 AWS SageMaker。我已成功加载数据、训练和部署模型。
deployed-model
我的下一步必须使用 AWS Lambda,将其连接到此 SageMaker 端点。
我看到,我需要授予 Lambda IAM 执行角色权限以调用模型端点。
我向 IAM 策略 JSON 添加了一些数据,现在它有这个视图
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "logs:CreateLogGroup",
"Resource": "arn:aws:logs:us-east-1:<my-account>:*"
},
{
"Effect": "Allow",
"Action": [
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": [
"arn:aws:logs:us-east-1:<my-account>:log-group:/aws/lambda/test-sagemaker:*"
]
},
{
"Effect": "Allow",
"Action": "sagemaker:InvokeEndpoint",
"Resource": "*"
}
]
}
问题是即使角色有权调用 SageMaker 端点,我的 Lambda 函数也看不到它
An error occurred (ValidationError) when calling the InvokeEndpoint operation: Endpoint xgboost-2020-10-02-12-15-36-097 of account <my-account> not found.: ValidationError
我自己发现了一个错误。问题出在不同的地区。对于训练和部署模型,我使用了 us-east-2,对于 lambda,我使用了 us-east-1。只需在同一区域创建全部即可解决此问题!
我尝试按照文档使用 AWS SageMaker。我已成功加载数据、训练和部署模型。
deployed-model
我的下一步必须使用 AWS Lambda,将其连接到此 SageMaker 端点。 我看到,我需要授予 Lambda IAM 执行角色权限以调用模型端点。 我向 IAM 策略 JSON 添加了一些数据,现在它有这个视图
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "logs:CreateLogGroup",
"Resource": "arn:aws:logs:us-east-1:<my-account>:*"
},
{
"Effect": "Allow",
"Action": [
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": [
"arn:aws:logs:us-east-1:<my-account>:log-group:/aws/lambda/test-sagemaker:*"
]
},
{
"Effect": "Allow",
"Action": "sagemaker:InvokeEndpoint",
"Resource": "*"
}
]
}
问题是即使角色有权调用 SageMaker 端点,我的 Lambda 函数也看不到它
An error occurred (ValidationError) when calling the InvokeEndpoint operation: Endpoint xgboost-2020-10-02-12-15-36-097 of account <my-account> not found.: ValidationError
我自己发现了一个错误。问题出在不同的地区。对于训练和部署模型,我使用了 us-east-2,对于 lambda,我使用了 us-east-1。只需在同一区域创建全部即可解决此问题!