创建AWS Glue Delta表爬虫报错:DeltaTargets不在Targets允许参数列表中
解决AWS Glue爬虫DeltaTargets参数报错问题
问题原因
你遇到的DeltaTargets参数不被识别的问题,核心原因是使用的boto3版本过低。DeltaTargets是AWS Glue爬虫针对Delta Lake新增的目标类型,旧版SDK未包含该参数定义,因此会触发参数不允许的错误。
解决方案
1. 升级boto3与botocore
DeltaTargets需要较新版本的AWS SDK支持,执行以下命令升级依赖:
pip install --upgrade boto3 botocore
2. 修正代码参数格式
确保DeltaTables参数传入的是数组类型(官方要求),同时保持CreateNativeDeltaTable布尔值正确。修正后的代码如下:
import boto3 bucket_name = "data-extract" table_path = "BatchTable" s3_target = f"s3://{bucket_name}/datalake/{table_path}" glue_client = boto3.client('glue') response = glue_client.create_crawler( Name=f"{bucket_name}-{table_path}-crawler_test", Role='AWSGlueServiceRoleDefault', DatabaseName='crispy', Targets={ "DeltaTargets": [ { 'DeltaTables': [s3_target], # 改为数组格式符合官方规范 'CreateNativeDeltaTable': True } ] } )
额外检查点
- 确认你的AWS账户所在区域支持Glue Delta Lake集成(大部分商业区域已支持)。
- 确保
AWSGlueServiceRoleDefault角色拥有访问目标S3路径、Glue数据目录的权限。
内容的提问来源于stack exchange,提问作者Saad Ather
相关产品推荐
相关产品推荐

