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。只需在同一区域创建全部即可解决此问题!