使用AWS Lambda调用API时出错。 (AWS Lambda + AWS API Gateway +邮递员)

时间:2018-11-22 05:31:41

标签: amazon-web-services aws-lambda amazon-sagemaker

从Lambda函数调用AWS SageMaker端点API时出现错误。当我使用邮递员打电话时,出现类似

的错误
{
    "errorMessage": "module initialization error"
}

3 个答案:

答案 0 :(得分:0)

为了清楚起见,您不能直接使用PostMan调用SageMaker端点(即使是,这也不是一件容易的事)。 您可能需要使用AWS开发工具包(即boto)。

Ref:https://aws.amazon.com/blogs/machine-learning/call-an-amazon-sagemaker-model-endpoint-using-amazon-api-gateway-and-aws-lambda/

我建议使用Flask创建一个小型HTTP服务器,并使用AWS开发工具包(Boto)调用端点。然后,您可以使用PostMan调用Flask端点。

答案 1 :(得分:0)

我们建议使用AWS开发工具包调用您的终端节点。 AWS SDK客户端可以为您处理序列化以及请求签名等。使用邮递员手动正确设置它真的很困难。

我们提供了多种语言的SDK客户端,包括Java,Python,JS等。 https://docs.aws.amazon.com/sagemaker/latest/dg/API_runtime_InvokeEndpoint.html#API_runtime_InvokeEndpoint_SeeAlso

答案 2 :(得分:0)

下次,请在问题中提供更多详细信息。例如。 POST请求数据,标头等。

无论如何,要帮助您使用Postman调用Sagemaker端点-

  1. 在“授权”选项卡中,将类型选择为“ AWS签名”。
  2. 输入有权访问Sagemaker资源的IAM用户的访问和密钥。
  3. 输入AWS区域。例如:us-east-1
  4. 输入“服务名称”作为“ sagemaker”
  5. 选择正确的内容类型。某些ML算法仅接受“ text / csv”。
  6. 选择请求类型为“ POST”
  7. 输入Sagemaker调用URL。例如:'https://runtime.sagemaker.us-east-1.amazonaws.com/endpoints/xgboost-xxxx-xx-xx-xx-xx-xx-xxx/invocations'

尝试一下,如果您有任何问题,请告诉我。

这是邮递员的样子- Sagemaker endpoint request - Postman Screenshot