мне нужно хранить рабочие места нескольких запросов инициатора ледника aws из Cli - PullRequest
0 голосов
/ 28 февраля 2020

У меня есть следующие строки, но на l oop с разными идентификаторами архива. AWS документация не имеет никаких параметров, о которых я могу подумать, что она сможет перехватить сообщение, которое она отправляет обратно.

Ниже приведена строка, которую я вызываю внутри al oop

aws glacier initiate-job --account-id 9999999999 --vault-name vaultee --job-parameters file://params.json

Мне было интересно, можно ли перехватить выходные данные, чтобы я мог их проанализировать и получить идентификатор задания для запроса. таким образом, когда мне нужно проверить статус, я могу просто l oop через все идентификаторы работы

пример вывода

[{
  "JobId" : "lskdjfoksdjfa;lkjlk3j2lk24j",
  "ArchiveId": "salskdjflksdjfklsdfas324234",
  "Date" : "date"
},
{
  "JobId" : "5468726w8f465wdf",
  "ArchiveId": "sdf3243523432",
  "Date" : "date"
},
:
:
{
  "JobId" : "kjhdfkjhasdjkfhsakjdfs",
  "ArchiveId": "78678fgdfgsedf",
  "Date" : "date"
}]

1 Ответ

1 голос
/ 29 февраля 2020

Вы можете использовать - запрос и - вывод параметров, чтобы отфильтровать идентификаторы.

В вашем случае команда может быть чем-то из следующего форма (запись из памяти, поэтому не может подтвердить):

job_ids=$(aws glacier initiate-job \
--account-id 9999999999 \
--vault-name vaultee \
--job-parameters file://params.json
--query '[*].JobId' --output text)

echo ${job_ids}

и затем вы можете перебирать $ {job_ids} в bash, проверяя их состояние, используя другую команду aws cli.

...