Удаление всех заданий на запись в одной команде CLI для AWS - PullRequest
1 голос
/ 16 октября 2019

Я пытаюсь удалить все свои задания AWS Transcribe одновременно. Я знаю, что могу пройти и удалить их один за другим через консоль, и я также могу удалить их все через CLI с помощью следующей команды:

$ aws transcribe delete-transcription-job --transcription-job-name YOUR_JOB_NAME

Проблема в том, что я должен сделатьэто для каждой отдельной работы! Я имею дело с ними в массовом порядке (около 1000 рабочих мест). Я пробовал следующий код, однако это не работает:

for jobName in ${aws transcribe list-transcription-jobs --query '[TranscriptionJobSummaries[*].TranscriptionJobName]' --output text}; do aws delete-transcription-job --transcription-job-name $jobName

Когда я запускаю этот код, он ничего не делает. Есть идеи как это исправить?

1 Ответ

0 голосов
/ 16 октября 2019

Если вы ожидаете получить большое количество значений, возвращаемых командой list-transcription-jobs, то цикл for может достичь границ списка аргументов. В таких ситуациях лучше использовать цикл while read, например:

aws transcribe list-transcription-jobs --query '[TranscriptionJobSummaries[*].TranscriptionJobName]' --output text | while read jobName; do
    aws delete-transcription-job --transcription-job-name "$jobName"
done
...