Bedrock Runtime: InvokeModel, https response error StatusCode: 400, RequestID: 6...

2025年11月25日 17:56 状态: processing

🚨 错误信息

InvokeModel: operation error Bedrock Runtime: InvokeModel, https response error StatusCode: 400, RequestID: 6630e736-d8c7-4528-9cae-4a7b3a4ed6e4, ValidationException: ***.***.custom.input_schema.properties: Property keys should match pattern '^[a-zA-Z0-9_.-]{1,64}$' (request id: 20251125175202346880512oh2HA3Cx) (request id: 2025112517514716269042ptCS5NhW) (request id: 202511251751478225984VR40DC8c)

🤖 AI解决方案

错误分析报告

1. 错误翻译



原文:Property keys should match pattern '^[a-zA-Z0-9_.-]{1,64}$'
译文:属性键必须匹配模式 '^[a-zA-Z0-9_.-]{1,64}$'

2. 原因分析


这是一个Amazon Bedrock API的输入数据格式验证错误。您提供的输入数据中的某个属性键(property key)不符合Bedrock服务要求的命名规范:
  • 错误位置:Bedrock Runtime服务的InvokeModel调用

  • 根本原因:输入数据中包含不符合命名规则的属性键名
  • 3. 解决方案


    检查并修正输入数据中的属性键命名:

    json
    // 错误示例 - 包含非法字符的键名
    {
    "user@email": "example@email.com", // ❌ 包含@符号
    "user name": "John Doe", // ❌ 包含空格
    "very_long_property_name_that_exceeds_sixty_four_characters_limit": "value" // ❌ 超过64字符
    }

    // 修正后的正确格式
    {
    "user_email": "example@email.com", // ✅ 仅使用合法字符
    "user_name": "John Doe", // ✅ 使用下划线代替空格
    "short_property": "value" // ✅ 不超过64字符
    }

    4. ️ 预防措施


  • 命名规范检查:在调用Bedrock API前,使用正则表达式验证所有属性键名:

  • javascript
    const isValidKey = /^[a-zA-Z0-9_.-]{1,64}$/.test(keyName);

  • 开发工具:在开发阶段使用JSON Schema验证器或IDE插件来实时检查输入数据的格式合规性
  • 记住:属性键名只能包含字母、数字、下划线、点和连字符,且长度在1-64字符之间。