Ваш первый пример терпит неудачу, потому что вы перечисляете объекты, а не распечатываете содержимое объектов.
Ваш второй пример терпит неудачу, потому что вы не можете использовать подстановочные знаки с запросами S3.
One способ сделать это - синхронизировать c файлы локально, затем выполнить grep локальных файлов, затем удалить локальные файлы (или просто оставить их на месте для оптимизации будущих синхронизаций). Для этого вы можете использовать aws s3 sync
.
Другой вариант - использовать Афина для запроса содержимого JSON. Например, вы можете использовать SQL запросов.
Другим вариантом будет создание поискового индекса при загрузке документов на S3. Вы можете вызвать функцию Lambda, которая считывает содержимое объекта и индексирует его в другой объект S3, или таблицу DynamoDB, или даже Elasticsearch, если это важная система.