You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Glue ETL作业启动报错:URISyntaxException问题求助

AWS Glue Notebook 运行时 URISyntaxException 错误的解决办法

问题重现

在Glue Notebook分步运行单个单元格正常,但通过Glue运行选项启动作业时,抛出如下错误:

LAUNCH ERROR | java.net.URISyntaxException: Illegal character in scheme name at index 0:
s3://py-function-bucket/aws_custom_functions.zip

无论是用S3路径还是完整HTTPS URL配置%extra_py_files,都会触发同类错误;删除魔法命令单元格则会导致自定义函数无法导入。

可行解决方案

方案1:用数组格式配置%extra_py_files

将单独的路径改为数组包裹的格式,修正魔法命令:

%extra_py_files ["s3://py-function-bucket/aws_custom_functions.zip"]
%number_of_workers 2
%%configure
{
    "region": "region",
    "iam_role": "arn:aws:iam::glue_role"
}

分步运行时Notebook对格式容错性较高,但Glue作业启动时的Java解析器要求更严格,数组格式能让解析器正确识别S3 URI。

方案2:将依赖配置整合到%%configure中

放弃单独的%extra_py_files魔法命令,把依赖配置直接写入%%configure的JSON参数里:

%%configure
{
    "region": "region",
    "iam_role": "arn:aws:iam::glue_role",
    "number_of_workers": 2,
    "extra_py_files": ["s3://py-function-bucket/aws_custom_functions.zip"]
}

这种方式将所有作业配置统一管理,避免单独魔法命令的解析冲突,Glue运行时能直接读取并加载S3中的依赖包。

验证步骤

  1. 按上述任一方案修改配置单元格
  2. 先运行配置单元格,确认无报错
  3. 运行导入自定义函数的单元格,验证函数可正常调用
  4. 通过Glue运行选项启动作业,检查是否还出现URISyntaxException错误

额外提醒:确保Glue使用的IAM角色拥有目标S3桶的s3:GetObject权限(分步运行正常的话,权限通常已配置到位,可按需确认)

内容的提问来源于stack exchange,提问作者ricardov-DB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 17:20:45