Я пытаюсь создать отличный скрипт, который перечисляет объекты на AWS S3, которые были загружены за последние три дня.Я установил интерфейс командной строки AWS на агенте, на котором выполняется сценарий.Я нашел команду, которая перечисляет объекты по дате:
def cmd = "aws s3api list-objects --bucket (name of bucket) --query \"Contents[?LastModified>= '2018-10-16'].{Key: Key, LastModified: LastModified }\""
Когда я запускаю эту команду на агенте непосредственно из сеанса замазки, она работает нормально и перечисляет объекты правильно.Но когда я пытаюсь выполнить ту же команду из скрипта groovy, я получаю следующую ошибку:
Неверное значение для --query "Contents [? LastModified: Неверное выражение jmespath: Unclosed" delimiter: "Содержание [? LastModified ^
Я пытался заменить первые и последние кавычки одинарными кавычками, но не получилось. Я пытался сделать то же самое с кавычками до содержимого и после LastModified
но не сработало. Я попытался передать Contents[?LastModified>= '2018-10-16'].{Key: Key, LastModified: LastModified }
в строковую переменную и передать ее значение в команде после --query
, но это тоже не сработало.