使用Boto3调用AWS Transcribe服务报错UnknownServiceError求助
解决Boto3调用AWS Transcribe时的UnknownServiceError问题
我之前也碰到过一模一样的报错,当时折腾了好一会儿才找到根源,结合你的情况(网页端正常、已更新最新Boto3和CLI),给你几个靠谱的排查和解决步骤:
1. 先确认Python环境里的botocore版本
AWS CLI自带的botocore和你Python项目环境里的botocore是完全独立的!哪怕CLI是最新的,如果你Python虚拟环境里的botocore版本不够,还是会识别不了Transcribe服务。
先运行这两个命令检查版本:
pip show boto3 pip show botocore
确保两者的版本是匹配且最新的(比如Boto3 1.34.x对应botocore 1.34.x)。如果版本偏低,直接执行升级:
pip install --upgrade botocore boto3
2. 检查Transcribe客户端的初始化代码
虽然听起来简单,但有时候手滑写错服务名也会触发这个错误。确保你的代码是这样的(注意区域要和你网页端用的一致):
import boto3 # 替换成你实际使用的AWS区域,比如us-east-1、eu-west-1等 transcribe_client = boto3.client('transcribe', region_name='your-region')
别把服务名写成transcribe-service或者其他变体,正确的服务名就是transcribe。
3. 极端情况:清除botocore的服务缓存
如果升级后还是报错,可能是botocore本地缓存的服务定义出问题了。你可以找到botocore的data目录(一般在Python环境路径/lib/pythonX.X/site-packages/botocore/data),删除里面的services文件夹,然后重新安装botocore,让它重新拉取最新的服务定义。
一般来说,前两步就能解决问题了,你可以先试试~
内容的提问来源于stack exchange,提问作者YardenST
相关产品推荐
相关产品推荐

