amazon-web-services - startjobrun 和 getjobrun- StepFunction with Glue 有什么区别?
问题描述
我有一个 stepfunction,我想用它来触发现有的 Glue 作业并运行它,我应该使用startjobrun
orgetjobrun
吗?我的 Glue 作业是由 Terraform 创建的,我已经尝试过了(请参阅此问题:Glue job succeeded without StepFunction,但如果它由 StepFunction 启动则失败)我"Resource": "arn:aws:states:::glue:startJobRun.sync",
在 stepfunction 中使用但胶水作业会失败。
我的问题是针对我的情况,因为我已经创建了胶水作业,我应该"Resource": "arn:aws:states:::glue:getJobRun.sync",
在 step 函数中使用吗?如果是这样,我该如何通过runId
?(https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-runs.html#aws-glue-api-jobs-runs-获取作业运行)
RunId – Required: UTF-8 string, not less than 1 or more than 255 bytes long, matching the Single-line string pattern.
The ID of the job run.
解决方案
是的。我们需要使用资源arn:aws:states:::glue:startJobRun.sync
从step function 任务开始粘合作业,我们不需要传递 runId。对于胶水start-job-run runId 仅用于重试。
{
"Type":"Task",
"Resource":"arn:aws:states:::glue:startJobRun.sync",
"Parameters":{
"JobName":"my-glue-job",
"Timeout":60,
"NotificationProperty":{
"NotifyDelayAfter":30
}
}
}
而get-job-run仅用于获取先前执行作业的元数据。
推荐阅读
- php - 如果能够提前返回,减少 if/else 条件的数量
- javascript - 每次组件在 React ContextAPI 下呈现时获取登录用户
- c++ - make_shared 中的 weak_ptr 可以用一个指针而不是两个指针来实现吗?
- tensorflow2.0 - tensorflow 2 - 如何在索引处直接更新 tf.Variable X 中的元素?
- typescript - 无法将枚举分配给 Typescript 中的对象
- python - 如何在pygame中制作旋转而不扭曲的图像
- javascript - Browserify 不适用于 Node MusicBrainz API
- python - 在每个数据对集的顶部添加一个标题行
- python - Python写入RAM sqlite3
- java - 使用java程序更新mysql db