如何通过Terraform为AWS Glue作业传递--additional-python-modules参数?
在Terraform中为AWS Glue作业添加额外Python包
你只需要在aws_glue_job资源的default_arguments块中直接添加--additional-python-modules参数,参数值填写需要安装的Python包即可,多个包用逗号分隔,还可以指定具体版本。
修改后的示例代码
resource "aws_glue_job" "example" { name = "example job" role_arn = aws_iam_role.example.arn number_of_workers = 4 command { name = "gluestreaming" script_location = "s3://${aws_s3_bucket.test.data}/temp.script" } # ... other configuration ... default_arguments = { # ... potentially other arguments ... "--continuous-log-logGroup" = aws_cloudwatch_log_group.example.name "--enable-continuous-cloudwatch-log" = "true" "--enable-continuous-log-filter" = "true" "--enable-metrics" = "" # 添加额外Python包,可指定版本 "--additional-python-modules" = "pandas==2.1.0,requests>=2.31.0" # 可选:指定PyPI镜像源加速安装 "--python-modules-installer-option" = "--index-url https://pypi.tuna.tsinghua.edu.cn/simple" } }
注意事项
- 如果包需要从私有PyPI仓库拉取,或者有其他安装参数,都可以通过
--python-modules-installer-option传递,格式和pip install的命令参数一致。 - 对于Glue Streaming作业,确保安装的包兼容Glue使用的Python版本(可参考AWS官方文档中对应Glue版本的Python环境说明)。
内容的提问来源于stack exchange,提问作者nohardfeelings
相关产品推荐
相关产品推荐

