AWS 从 Lambda 向 Sagemaker 发送图像:如何设置内容处理?

AWS send image to Sagemaker from Lambda: how to set content handling?

类似的问题 AWS Lambda send image file to Amazon Sagemaker

我尝试做simple-mnist工作(模型是参考aws tutorial搭建的)

然后我使用 API 网关(REST API w/代理集成)将 post 图像数据发送到 lambda,并希望将其发送到 sagemaker 端点并制作一个推理。

在lambda函数中,我写了这样的代码(.py)。

runtime = boto3.Session().client('sagemaker-runtime')

endpoint_name = 'tensorflow-training-YYYY-mm-dd-...'
res = runtime.invoke_endpoint(EndpointName=endpoint_name,
                              Body=Image,
                              ContentType='image/jpeg',
                              Accept='image/jpeg')

但是,当我通过 API 网关将图像发送到 lambda 时,会发生此错误。

[ERROR] ModelError: An error occurred (ModelError) when calling the InvokeEndpoint operation: Received client error (415) from model with message " { "error": "Unsupported Media Type: image/jpeg" }

我想我需要做一些参考 Working with binary media types for REST APIs

但是由于我是新手,所以我不知道在哪个页面(也许 API 网关页面?)或如何...做适当的事情...

我需要一些线索来解决这个问题。提前谢谢你。

查看here可以看到默认只支持一些特定的内容类型,图像不在此列表中。我认为您必须实施 input_fn 功能或将您的数据调整为支持的内容类型之一。