Подтвердить что ты не робот

Разница между s3cmd, boto и AWS CLI

Я думаю о перераспределении моего статического веб-сайта на Amazon S3. Мне нужно автоматизировать развертывание, поэтому я искал API для таких задач. Я немного запутался в разных вариантах.

Вопрос: В чем разница между s3cmd, библиотекой Python и AWS CLI?

4b9b3361

Ответ 1

s3cmd и AWS CLI оба инструмента командной строки. Они хорошо подходят, если вы хотите script выполнить развертывание с помощью сценариев оболочки (например, bash).

AWS CLI предоставляет вам простые возможности копирования файлов с помощью команды "s3", которой должно быть достаточно для развертывания статического веб-сайта в ведро S3. Он также имеет некоторые небольшие преимущества, такие как предварительная установка на Amazon Linux, если это было то, где вы работали (он также легко устанавливается через pip).

Команда AWS CLI, которая может быть подходящей для синхронизации локального каталога с ведром S3:

$ aws s3 sync . s3://mybucket

Полная документация по этой команде: http://docs.aws.amazon.com/cli/latest/reference/s3/sync.html

Изменить: Как упоминалось в комментариях @simon-buchan, команда aws s3api дает вам доступ к полному API S3, но его интерфейс более "сырой".

s3cmd поддерживает все, что делает AWS CLI, плюс добавляет еще несколько расширенных функций сверху, хотя я не уверен, что вам понадобится любая из них для ваших целей. Здесь вы можете увидеть все его команды: http://s3tools.org/usage

Установка s3cmd может быть немного более сложной, потому что это не похоже на пакеты для него в любых основных репозиториях distros.

boto - это библиотека Python, и на самом деле официальный AWS Python SDK. CLI AWS, также написанный на Python, фактически использует часть библиотеки boto (botocore). Это было бы удобно, только если бы вы писали сценарии развертывания в Python. Существуют официальные SDK для других популярных языков (Java, PHP и т.д.), Если вы предпочитаете: http://aws.amazon.com/tools/

Самая сырая форма доступа к S3 осуществляется через AWS REST API. В какой-то момент все построено на этом. Если вы считаете себя авантюрным, здесь представлена ​​документация S3 REST API: http://docs.aws.amazon.com/AmazonS3/latest/API/APIRest.html