You need to enable JavaScript to run this app. AWS API Gateway传入目标模型仍返回TARGET_MODEL_HEADER_MISSING错误如何解决
优惠活动
大模型
产品
解决方案
定价
更多

AWS API Gateway传入目标模型仍返回TARGET_MODEL_HEADER_MISSING错误如何解决

Sagemaker多模型端点API Gateway调用TARGET_MODEL_HEADER_MISSING报错解决方案

该报错本质是后端Sagemaker端点没有收到X-Amzn-SageMaker-Target-Model请求头,绝大多数情况是API Gateway默认过滤了X-Amzn开头的自定义请求头,没有透传给后端导致的,按照以下步骤排查修复即可:

1. 配置API Gateway请求头透传

进入对应API的控制台,找到predicted-job-titles接口的集成请求配置页:

  • 找到「HTTP 请求头」配置项,点击添加头
  • 名称字段填:X-Amzn-SageMaker-Target-Model
  • 映射来源字段填:method.request.header.X-Amzn-SageMaker-Target-Model
  • 保存配置后重新部署API生效

如果是用CDK、Terraform等IaC工具配置的API,需要在集成配置中显式添加该请求头的透传规则。

2. 修正目标模型参数格式

你当前请求头里的值为/jobtitles-exact,需要和本地boto3调用时传入的TargetModel参数完全一致:

  • 若本地boto3调用时参数为TargetModel="jobtitles-exact.tar.gz",则请求头值要去掉前缀斜杠,改为jobtitles-exact.tar.gz
  • 要确保该值和S3存储桶中模型对象的相对路径完全匹配,比如模型存放在s3://your-bucket/models/jobtitle/v1/model.tar.gz,则参数值应为jobtitle/v1/model.tar.gz

修正后的请求代码示例:

import requests
headers = {'X-Amzn-SageMaker-Target-Model':'jobtitles-exact.tar.gz'} # 替换为实际的模型相对路径
response = requests.request(
    "POST",
    "https://XXXXXXXXXX.execute-api.eu-north-1.amazonaws.com/v1/predicted-job-titles",
    headers = headers,
    data = data
)

3. 排查额外的头修改逻辑

如果完成上述两步后仍然报错,检查以下配置:

  • 如果你配置了Lambda授权器、请求转换器等前置逻辑,确认没有删除/修改X-Amzn-SageMaker-Target-Model请求头
  • 如果你使用的是HTTP API,确认没有开启「自动过滤X-Amzn头」的默认配置

内容的提问来源于stack exchange,提问作者Elias Gudmundsen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 21:09:02