s3cmd i AWS CLI są narzędziami linii poleceń. Są dobrze dopasowane, jeśli chcesz skryptować wdrożenie za pomocą skryptów powłoki (np. Bash).
AWS CLI daje proste możliwości kopiowania plików za pomocą polecenia "s3", co powinno wystarczyć do zainstalowania statycznej witryny internetowej w zasobniku S3. Ma także pewne niewielkie zalety, takie jak preinstalacja na Amazon Linux, jeśli to tam pracujesz (jest to również easily installable through pip
).
Jeden AWS CLI polecenia, które mogą być odpowiednie do synchronizacji katalogu lokalnego do wiadra S3:
$ aws s3 sync . s3://mybucket
pełną dokumentację na polecenie: http://docs.aws.amazon.com/cli/latest/reference/s3/sync.html
Edit: Jak wspomniano przez @ simon- buchan w komentarzu, komenda aws s3api
daje ci dostęp do kompletnego API S3, ale jego interfejs jest bardziej "surowy".
s3cmd obsługuje wszystko, co robi AWS CLI, i dodaje na wierzch jeszcze większą funkcjonalność, chociaż nie jestem pewien, czy wymagałbyś tego do swoich celów. Możesz zobaczyć wszystkie jego polecenia tutaj: http://s3tools.org/usage
Instalacja s3cmd może być nieco bardziej zaangażowana, ponieważ nie wydaje się być pakietem dla niego w żadnych dystrybucjach głównych repo.
boto to biblioteka Pythona, a właściwie oficjalny SDK Pythona AWS. Interfejs AWS CLI, również napisany w języku Python, używa części biblioteki boto (botocore). Byłoby dobrze, gdybyś pisywał swoje skrypty wdrażania w Pythonie. Istnieją oficjalne pakiety SDK dla innych popularnych języków (Java, PHP itp.), Jeśli wolisz: http://aws.amazon.com/tools/
Najprostszą formą dostępu do S3 jest interfejs API REST AWS. Wszystko inne jest na nim zbudowane w pewnym momencie. Jeśli masz ochotę na przygodę, oto dokumentacja interfejsu S3 REST API: http://docs.aws.amazon.com/AmazonS3/latest/API/APIRest.html
Czy są jakieś benchmarki porównujące szybkość transferu danych przy użyciu s3cmd do awscli? – sandeepkunkunuru
Istnieją oficjalne pakiety 's3cmd' dla Ubuntu: http://packages.ubuntu.com/trusty/s3cmd – Daniel
Sprawdź również s4cmd. Chociaż nie ma wszystkich funkcji s3cmd, jego wydajność jest zdecydowanie lepsza w porównaniu do połączeń o dużej przepustowości (na przykład w EC2), ponieważ wielowątkowe są połączenia. https://github.com/bloomreach/s4cmd – jlevy