Glue作业中无法创建boto3的appconfigdata客户端问题咨询
问题原因及解决方案
原因
Glue作业环境中使用的boto3版本过低,不支持appconfigdata服务客户端。appconfigdata是AWS较新推出的服务模块,仅在新版本boto3中提供;而你本地环境的boto3是更新的版本,因此代码可以正常运行。
解决方案
1. 确认Glue的boto3版本
在Glue作业中添加以下代码,打印当前使用的boto3版本以验证问题:
import boto3 print(boto3.__version__)
2. 升级Glue运行时版本
切换到Glue 4.0及以上的运行时(如Glue 4.0、4.1),这些版本默认搭载的boto3已支持appconfigdata服务,无需额外配置。
3. 自定义依赖包(针对旧版Glue运行时)
如果必须使用Glue 3.0及以下的旧版运行时,可手动上传新版本的boto3和botocore包:
- 下载支持
appconfigdata的最低版本依赖(建议boto3>=1.20.0) - 将两个包打包成zip文件
- 在Glue作业配置中,将该zip文件作为自定义Python库上传,作业运行时会优先使用自定义库中的版本
4. 临时替代方案(不推荐长期使用)
若无法升级依赖,可改用传统的AppConfig客户端获取配置(不支持会话轮询):
def fetch_appconfig(): client = boto3.client('appconfig', region_name='us-east-1') response = client.get_configuration( Application='myappname', Environment='myenvname', Configuration='config_name' ) config_json = json.loads(response['Content'].read().decode('utf-8')) client.close() print(config_json)
内容的提问来源于stack exchange,提问作者Jeremy Fisher
相关产品推荐
相关产品推荐

