使用Amazon Textract自定义适配器调用API时遇AdaptersConfig参数错误求助
解决Amazon Textract调用analyze_document时AdaptersConfig参数无效的问题
核心排查方向
1. Lambda环境的Boto3版本过低
AdaptersConfig是Textract新增的参数,旧版本Boto3 SDK未收录该参数的校验规则,导致调用时触发参数无效错误——而AWS控制台使用的是官方最新环境,因此能正常运行。
- 验证方式:在Lambda代码中加入以下代码,执行后查看日志确认版本:
import boto3 print(f"Boto3版本: {boto3.__version__}") - 解决办法:
- 通过Lambda自定义层部署最新版Boto3:打包
boto3和botocore的最新版本,上传为Lambda层并关联到目标函数。 - 直接在代码包中嵌入最新Boto3依赖(注意控制代码包大小不超过Lambda限制)。
- 通过Lambda自定义层部署最新版Boto3:打包
2. 确认API参数兼容性
虽然控制台可用,仍需确认调用的API与AdaptersConfig的适配性:
- 确保
analyze_document的FeatureTypes组合支持适配器功能(比如自定义文档分析场景对应的FeatureTypes)。 - 异步API
start_document_analysis的参数规则与同步API一致,核心问题仍指向SDK版本。
3. 校验参数格式与内容
再核对参数细节,避免低级错误:
- 确认
AdapterId和Version与控制台创建的适配器完全一致,无拼写或格式错误。 - 确保
AdaptersConfig结构正确:AdaptersConfig={ 'Adapters': [ {'AdapterId': '1234567', 'Version': '3'} ] }
附用户提供的调用代码与报错信息
调用代码片段
Document={ 'S3Object': { 'Bucket': bucket, 'Name': key, 'Version': versionID } }, FeatureTypes=['QUERIES'], QueriesConfig={ 'Queries': [ {"Text": "When is the event?"} ] }, AdaptersConfig={ 'Adapters': [ { 'AdapterId': '1234567', 'Version': '3' } ] } )
报错信息
Failed extraction. Exception: Parameter validation failed:
Unknown parameter in input: "AdaptersConfig", must be one of: Document, FeatureTypes, HumanLoopConfig, QueriesConfig
内容的提问来源于stack exchange,提问作者shravan reddy
相关产品推荐
相关产品推荐

