使用 lambda 函数调用 sagemaker 端点

call sagemaker endpoint using lambda function

我在 S3 中有一些数据,我想创建一个 lambda 函数来预测我部署的 aws sagemaker 端点的输出,然后我再次将输出放入 S3。在这种情况下是否有必要像 link 中描述的那样创建一个 api 网关?在 lambda 函数中我必须输入什么。我希望把(在哪里找到数据,如何调用端点,把数据放在哪里)

谢谢

您绝对不必在 API 网关中创建 API。您可以使用 invoke_endpoint() API 直接调用端点,传递端点名称、内容类型和有效负载。

例如:

import boto3

endpoint_name = <INSERT_ENDPOINT_NAME>
runtime = boto3.Session().client(service_name='sagemaker-runtime',region_name='us-east-1')

response = runtime.invoke_endpoint(EndpointName=endpoint_name, ContentType='application/x-image', Body=payload)
print(response['Body'].read())

此处使用 Lambda 函数的更多示例:https://medium.com/@julsimon/using-chalice-to-serve-sagemaker-predictions-a2015c02b033