2017-07-18 5 views
0

Actuellement, j'ai des commandes Bash redirigeant la sortie vers un fichier journal, puis un appel CLI aws s3 cp distinct pour copier le fichier journal jusqu'à S3.Existe-t-il un moyen de rediriger directement une commande Bash vers un objet fichier S3?

Je me demandais s'il existe un moyen de rediriger directement la sortie vers S3 sans la commande/étape supplémentaire. J'ai essayé de faire le aws s3 cp à un https mais cela ne semble pas fonctionner puisque les urls sont pour des fichiers/objets existants sur S3.

+0

Je crois que cela devrait être possible car kinesis est en streaming sur s3, donc vous devriez être capable d'écrire le fichier journal à s3 lors de sa création. Je ne suis pas sûr que le CLI ait cette option, en travaillant avec boto ou nodeJS/npm vous pourriez avoir plus de possibilités - rappelez-vous également que les frais s3 par demandes PUT, coûtent $ 0.005 pour chaque demande de 1k. quand vous exécutez 'aws s3 cp ....' sa demande 1 mais si vous diffusez, vous aurez beaucoup de demandes –

Répondre

0

Je ne ai jamais testé, mais Chech si elle est raisonnable:

aws s3 cp <(/path/command arg1 arg2) s3://mybucket/mykey

Ici /path/command arg1 arg2 est votre « commande Bash rediriger la sortie vers un fichier journal », mais vous ne pouvez rediriger la sortie, vous avez besoin pour le laisser dans le stdout.

0

Vous ne savez pas si c'est un surdimensionnement basé sur la gravité de votre scénario, mais en utilisant un AWS File Gateway, vous pouvez placer les fichiers sur un disque monté et il sera automatiquement synchronisé avec S3.