我在S3中有一些数据,我想创建一个lambda函数来预测已部署的aws sagemaker端点的输出,然后将输出再次放入S3。在这种情况下是否有必要创建一个link中所述的api网关?在lambda函数中,我必须输入。我希望放置(在何处查找数据,如何调用端点,在何处放置数据)
谢谢
答案 0 :(得分:2)
您绝对不必在API Gateway中创建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