Eu tenho vários arquivos grandes na minha conta hospedada no Linux que preciso carregar na minha conta S3. Não quero baixá-los primeiro e depois enviá-los para o S3.
Existe alguma maneira de eu "carregá-lo" através da linha de comando do Linux? Ou posso acessá-lo através de um site que trabalha com o Lynx?
fonte
Agora, a Amazon também fornece suas próprias ferramentas de CLI.
De http://aws.amazon.com/cli/
A documentação para comandos relacionados a arquivos está aqui .
fonte
Se você não pode (talvez esteja em um host compartilhado) ou não deseja instalar ferramentas extras, é possível usar apenas bash, curl e openssl.
http://tmont.com/blargh/2014/1/uploading-to-s3-in-bash
Observe que eu modifiquei esse script do link acima. Eu adicionei a
-L
opção porque a AWS pode inserir um redirecionamento lá. A-L
opção seguirá o redirecionamento para você.Uma outra ressalva. Isso não funcionará para arquivos maiores que 5 GB. Isso exige um upload em várias partes que exigiria um script mais complexo.
fonte
Um script de shell compatível com POSIX que requer apenas openssl, curl e sed; oferecendo suporte à AWS Signature Versão 4, necessária para a região
eu-central-1
(Frankfurt) e recomendada para as outras:https://gist.github.com/vszakats/2917d28a951844ab80b1
Observe que o script ativará o servidor
Criptografia AES256 por padrão.
fonte
The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256
Como alternativa, você pode tentar https://github.com/minio/mc
mc
fornece ferramentas mínimas para trabalhar com sistemas de arquivos e armazenamento em nuvem compatíveis com Amazon S3. Possui recursos como uploads recuperáveis, barra de progresso, cópia paralela.mc
é escrito em Golang e lançado sob a licença Apache v2.fonte
Eu achei as ligações da AWS do Python no
boto
pacote (pip install boto
) úteis para fazer upload de dados para o S3.O script a seguir pode ser chamado como:
python script_name.py "sub_bucket_name" "*.zip"
wheresub_bucket_name
indica o nome do diretório em que os arquivos devem ser armazenados no S3 e*.zip
é um caminho global que designa um ou mais arquivos a serem carregados:fonte