Я передаю данные DB Dynamo на S3 с использованием Data Pipeline. В ведро S3 я получаю резервную копию, но она разделена на несколько файлов. Для того, чтобы получить данные в одном файле я использовал активность командной оболочки, который запускает следующую команду:ShellCommandActivity в AWS Data Pipeline
aws s3 cat #{myOutputS3Loc}/#{format(@scheduledStartTime,'YYYY-MM-dd')}/* > #{myRenamedFile}
Это должно конкатенировать все файлы, присутствующие в папке S3 в один файл с именем #{myRenamedFile}
. Но я получаю следующее сообщение об ошибке в трубопроводе данных:
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters] To see help text, you can run: aws help aws <command> help aws <command> <subcommand> help aws: error: argument subcommand: Invalid choice, valid choices are: ls | website cp | mv rm | sync mb | rb
Означает ли это cat
не поддерживается в командной оболочке деятельности или есть что-то здесь не так? Есть ли другой способ объединить разные файлы в один файл в S3?
Я пытался Cp файлы на моей локальной машине 'AWS s3 ф # {myOutputS3Loc}/# {format (@scheduledStartTime, 'YYYY-MM-dd')}// home/user/Desktop --recursive', но я получаю ошибку [Errno 13] Разрешение отклонено: '/ home/user' – rightCoder
У вас нет разрешений на запись в '/ homeuser', вероятно, принадлежащих' root'. Либо измените разрешения с помощью 'chmod', либо попробуйте скопировать файлы S3 в'/tmp' – helloV