如何 access/invoke 没有 lambda 的 sagemaker 端点?
How to access/invoke a sagemaker endpoint without lambda?
根据 aws 文档,最大超时限制小于 30 秒 api gateway.so 将 sagemaker 端点与 api 网关连接起来没有意义,如果request/response 将花费 30 多秒。有什么解决方法吗?在 api 网关和 sagemaker 端点之间添加一个 lambda 将增加更多时间来处理 request/response,我想避免这种情况。此外,将增加 lambda 冷启动时间,并且 sagemaker 无服务器端点构建在 lambda 之上,因此也会增加冷启动时间。有没有一种方法可以在没有这些开销的情况下调用无服务器 sagemaker 端点?
将 SageMaker 端点直接连接到 API 网关,无需中间 Lambdas
确实可以在不使用任何其他 AWS 服务的情况下从 sagemaker 调用 sagemaker 端点,并且它们具有调用 URLs 的事实也表明了这一点。
设置方法如下:
- 创建一个仅具有编程访问权限的用户并附加一个策略 json,该策略应如下所示:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "sagemaker:InvokeEndpoint",
"Resource": "arn:aws:sagemaker:<region>:<account-id>:endpoint/<endpoint-name>"
}
]
}
您可以将 <endpoint-name>
替换为 *
以让该用户调用所有端点。
使用 ACCESS-KEY 和 SECRET-ACCESS-KEY 在邮递员中配置授权,如屏幕截图所示。还可以在高级选项卡中添加参数,如屏幕截图所示。
然后用相关的内容类型填写您的body。
然后添加或删除额外的 headers,例如 variant-name 或 model-name,如果您设置了它们并且 headers 应该如图所示在此屏幕截图中:
-
URL 上面截图中的凭据不再有效,呃!
如果您希望代码使用某种 back-end 语言直接调用端点,here's code for python。
根据 aws 文档,最大超时限制小于 30 秒 api gateway.so 将 sagemaker 端点与 api 网关连接起来没有意义,如果request/response 将花费 30 多秒。有什么解决方法吗?在 api 网关和 sagemaker 端点之间添加一个 lambda 将增加更多时间来处理 request/response,我想避免这种情况。此外,将增加 lambda 冷启动时间,并且 sagemaker 无服务器端点构建在 lambda 之上,因此也会增加冷启动时间。有没有一种方法可以在没有这些开销的情况下调用无服务器 sagemaker 端点?
确实可以在不使用任何其他 AWS 服务的情况下从 sagemaker 调用 sagemaker 端点,并且它们具有调用 URLs 的事实也表明了这一点。
设置方法如下:
- 创建一个仅具有编程访问权限的用户并附加一个策略 json,该策略应如下所示:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "sagemaker:InvokeEndpoint",
"Resource": "arn:aws:sagemaker:<region>:<account-id>:endpoint/<endpoint-name>"
}
]
}
您可以将 <endpoint-name>
替换为 *
以让该用户调用所有端点。
使用 ACCESS-KEY 和 SECRET-ACCESS-KEY 在邮递员中配置授权,如屏幕截图所示。还可以在高级选项卡中添加参数,如屏幕截图所示。
然后用相关的内容类型填写您的body。
然后添加或删除额外的 headers,例如 variant-name 或 model-name,如果您设置了它们并且 headers 应该如图所示在此屏幕截图中:
URL 上面截图中的凭据不再有效,呃!
如果您希望代码使用某种 back-end 语言直接调用端点,here's code for python。