首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用API网关调用sagemaker推理端点

如何使用API网关调用sagemaker推理端点
EN

Stack Overflow用户
提问于 2019-02-14 21:23:34
回答 3查看 2.3K关注 0票数 4

我正在尝试使用AWS集成从api网关调用sagemaker推理端点。我不想在API网关和sagemaker运行时之间使用lamdba。我按照这个doc来设置api网关方法,但它失败了。

如何从API网关调用sagemaker推理端点?

Web浏览器-> API网关-> Sagemaker端点

EN

回答 3

Stack Overflow用户

发布于 2019-02-26 03:19:54

API Gateway支持直接与AWS服务集成(无需Lambda)。您可以按照https://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-aws-proxy.html上的说明进行操作。

当您转到上面说明中的步骤4时,对于亚马逊网络服务选项,您可以选择'SageMaker运行时‘来定位调用端点。

票数 4
EN

Stack Overflow用户

发布于 2020-05-08 11:27:37

调用Invocation将需要适当的SageMaker权限,这就是为什么在体系结构中推荐使用Lambda。如果没有Lambda,您将需要处理通过SageMaker网关传递的AWS InvokeEndpoint调用(和AWS签名),这不是一个最佳实践,原因有几个。

下面是一个处理InvokeEndpoint调用的简单Lambda python函数的示例。这将通过API网关将输入/输出传递给SageMaker,然后将预测返回给客户端。

代码语言:javascript
复制
import os
import io
import boto3
import json
import csv

ENDPOINT_NAME = os.environ['ENDPOINT_NAME']

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

def handler(event, context):

    print("data: " + json.dumps(event))

    response = runtime.invoke_endpoint(EndpointName=ENDPOINT_NAME,
                                       ContentType='text/csv',
                                       Body=event)

    result = json.loads(response['Body'].read().decode())

    print(result)

    return result

有关更多信息,请参阅API参考:https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html

希望这能有所帮助!

票数 1
EN

Stack Overflow用户

发布于 2021-02-19 18:25:13

这是一个古老的问题,所以可能性很小,但可能会有人在这里结束。

阅读有关在sagemaker中调用推理端点的文档的第一部分,您将发现只能使用POST调用它,并在主体中传递输入数据。

https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html

因此,您可能在API Gateway中创建了一个GET方法,并且需要将请求参数映射到正文有效负载,或者简单地设置POST方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54691487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档