Можно ли получить список выполнения Арнса для конечного автомата? - PullRequest
0 голосов
/ 30 марта 2020

Моя компания использует AWS Stepfunctions. Теперь мне нужен список всех выполнений Arns для одного конечного автомата.

Что я хочу, это параметр input из выполнения. Для этого я в настоящее время смотрю на этот рабочий процесс:

  1. Получить список выполнений с конечного автомата aws stepfunctions list-executions --state-machine-arn $ARN
  2. Итерация по списку, считывание выполнения arns
  3. Получите информацию о выполнении за выполнение с помощью aws stepfunctions describe-execution --execution-arn $ARN

Есть ли простая цепочка команд, которую вы можете использовать, или мне нужно продолжать использовать мой bashscript, анализируя JSON выходных данных?

1 Ответ

1 голос
/ 31 марта 2020

Команды оболочки для этого:

aws stepfunctions list-executions \
  --state-machine-arn <YOUR STEP FN ARN> \
  --query "executions[*].{executionArn:executionArn}" \
  --output text | \
xargs -I {} aws stepfunctions describe-execution \
  --execution-arn {} \
  --query "executionArn"

Аргумент --query фильтрует вывод list-executions в интересующее вас поле. Затем это поле передается describe-execution и другой аргумент --query получает поле executionArn.


Чтобы записать каждый вывод в отдельный файл:

aws stepfunctions list-executions \
  --state-machine-arn <YOUR STEP FN ARN> \
  --query "executions[*].{executionArn:executionArn}" \
  --output text | \
xargs -I {} \
  sh -c \
  'aws stepfunctions describe-execution --execution-arn $1 \
   --query executionArn >> "output-$(echo $1 | cut -d: -f8)"' -- {}

Вторая команда aws cli записывает в файл имя с префиксом output-, за которым следует имя исполнения (8-е поле ARN).

...