运行Glue ETL Job时遇CommandFailedException问题求助
解决Glue ETL Job脚本文件不存在的问题
检查Glue角色的S3权限:确认Glue执行角色拥有
s3:GetObject权限,覆盖目标桶和脚本路径。就算控制台能看到脚本,Job执行用的角色可能没权限。去IAM控制台查看角色的权限策略,添加包含arn:aws:s3:::my-bucket/my-script.py的GetObject权限条目。验证脚本文件的实际存在性:用AWS CLI执行
aws s3 ls s3://my-bucket/my-script.py,确认文件确实存在。注意S3路径区分大小写,比如你配置的是my-script.py,实际可能是My-Script.py,这种大小写差异会导致路径匹配失败。核对Glue Job的脚本配置:回到Job配置页面,确认“脚本路径”字段和实际S3路径完全一致,没有多余空格或拼写错误。另外,如果是在控制台编辑过脚本,务必确认点击了保存——有时候编辑后未保存,Job仍使用旧的路径配置。
排查S3存储桶和文件的ACL:即使IAM角色有权限,桶或文件的ACL可能限制了访问。检查文件的ACL是否允许Glue角色所属账号读取,或者临时调整桶的ACL测试(不建议长期开放公共权限)。
查看CloudWatch执行日志:进入CloudWatch控制台,找到该Glue Job对应的日志流,搜索更详细的错误信息,比如是否有权限拒绝提示、路径解析异常等,这些细节能帮你精准定位问题。
内容的提问来源于stack exchange,提问作者srk
相关产品推荐
相关产品推荐

