AWS клей зависимость работы в шаговой функции - PullRequest
0 голосов
/ 16 января 2019

Я создал 2 задания по склеиванию (gluejob1, gluejob2).

Я хочу создать зависимость, поскольку gluejob2 должен запускаться только после завершения gluejob1.

Чтобы организовать это, я создал функцию шага со следующим определением:

 {
  "gluejob1": {
    "Type": "Task",
    "Resource": "gluejob1.Arn",
    "Comment": "Glue job1.",
    "Next": "gluejob2"
  },

  "gluejob2": {
    "Type": "Task",
    "Resource": "gluejob2.Arn",
    "Comment": "TGlue job2.",
    "Next": "Gluejob2 Finished Loading"
  },
  "Gluejob2 Finished Loading": {
    "Type": "Pass",
    "Result": "",
    "End": true
  }
}

Когда я выполняю эту шаговую функцию, функция состояния вызывает ее успех в тот момент, когда она запускает Gluejob1 и переходит к запуску gluejob2.

Мне интересно, есть ли возможность запустить gluejob2 только после завершения gluejob1.

Ответы [ 2 ]

0 голосов
/ 17 января 2019

Вы можете синхронно вызывать задание Glue из StepFunction , чтобы оно ожидало завершения задания:

{
  "StartAt": "gluejob1",
  "States": {
    "gluejob1": {
      "Type": "Task",
      "Resource": "arn:aws:states:::glue:startJobRun.sync",
      "Parameters": {
        "JobName.$": "ETLJobName1"
      },
      "Next": "gluejob2"
    },
    "gluejob2": {
      "Type": "Task",
      "Resource": "arn:aws:states:::glue:startJobRun.sync",
      "Parameters": {
        "JobName.$": "ETLJobName2"
      },
      "Next": "Gluejob2 Finished Loading"
    },
    "Gluejob2 Finished Loading": {
      "Type": "Pass",
      "Result": "",
      "End": true
    }
}
0 голосов
/ 16 января 2019

Почему бы не использовать триггеры в клею для обработки зависимостей?

...