我是 AWS Glue 的新用户,它是一种新的 AWS 托管服务,可轻松编排批处理作业工作流。
我浏览了许多描述 CI/CD 最佳实践的博客和文章。我发现了一个很好的文章(CI / CD特别在数据管道工作流程)在AWS博客在这里。它非常简单,并且包含使用 CodeCommit 和 AWS Cloudformation 构建 CodePipeline 的详细信息。但是 CI/CD 的所有阶段都在同一个 AWS IAM 账户中启动和结束。
我有两个问题:
关于为 AWS-Glue 设计 CI/CD 管道的最佳实践有什么建议吗?
我一直在使用 AWS Glue 工作流程来编排批处理作业。我们需要传递下推谓词以限制批处理作业的处理。当我们单独运行 Glue 作业时,我们可以在运行时将下推谓词作为命令行参数传递(即 awsgluestart-job-run --job-name foo.scala --arguments --arg1-text ${arg1} ..)。但是当我们使用glue工作流程来执行Glue作业时,就有点不清楚了。
当我们使用 AWS Glue 工作流程编排 Batch 作业时,我们可以在创建工作流程时添加运行属性。
我试过:
awsgluestart-workflow-run --name 工作流程名称 | jq -r '.RunId'
awsglue put-workflow-run-properties --name 工作流名称 --run-id "ID" --run-properties --pushdownpredicate="some value"
我可以使用 put-workflow-run-property 查看已传递的运行属性
awsglue put-workflow-run-properties --name 工作流程名称 --run-id "ID"
但我无法在我的胶水作业中检测到“pushdownpredicate”。知道如何在胶水作业中访问工作流的运行属性吗?