Veri Boru Hattı'nı kullanarak Dynamo DB verilerini S3'e aktarıyorum. S3 kepçesinde yedeği aldım ancak birden çok dosyaya bölünmüş durumda.AWS Data Pipeline'da ShellCommandActivity
aws s3 cat #{myOutputS3Loc}/#{format(@scheduledStartTime,'YYYY-MM-dd')}/* > #{myRenamedFile}
Bu #{myRenamedFile}
adında tek dosyaya S3 klasöründe mevcut tüm dosyaları birleştirir olmalıdır: tek bir dosyada verileri almak için aşağıdaki komutu çalışan bir Shell Komutanlığı Etkinliği kullandı. Ama veri boru hattında aşağıdaki hatayı alıyorum:
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
bu cat
Shell Komutanlığı Aktivite desteklenmez veya bir şey yanlış burada var anlamına mı geliyor? Farklı dosyaları S3'ün kendisinde tek bir dosyayla birleştirmenin başka bir yolu var mı?
stdout'a kopyalanır eğer benim yerel makineye dosya cp çalıştı Sen
cp
için--recursive
seçeneğiyle tek komutla yapabilirsiniz ama--recursive
desteklenmiyor 'AWS s3 cp # {myOutputS3Loc}/# {format (@scheduledStartTime, 'YYYY-AA-dd')}// home/user/Desktop - recursive' ama hatayı alıyorum [Errno 13] İzin reddedildi: '/ home/user' – rightCoderSende yok Muhtemelen 'root' tarafından sahip olunan'/homeuser' içinde yazma izni. 'Chmod' kullanarak izinleri değiştirin ya da S3 dosyalarını'/tmp'ye kopyalamayı deneyin. – helloV