Pertanyaan Perbedaan antara s3cmd, boto dan AWS CLI


Saya sedang berpikir untuk memindahkan situs statis saya ke Amazon S3. Saya perlu mengotomatisasi penyebaran sehingga saya mencari API untuk tugas-tugas seperti itu. Saya agak bingung dengan pilihan yang berbeda.

Pertanyaan: Apa perbedaan antara s3cmd, boto perpustakaan Python dan AWS CLI?


32
2017-10-12 14:53


asal


Jawaban:


s3cmd dan AWS CLI keduanya alat baris perintah. Mereka sangat sesuai jika Anda ingin skrip penyebaran Anda melalui shell scripting (misalnya bash).

AWS CLI memberi Anda kemampuan menyalin file sederhana melalui perintah "s3", yang seharusnya cukup untuk menyebarkan situs web statis ke keranjang S3. Ini juga memiliki beberapa keuntungan kecil seperti pra-instal di Amazon Linux, jika itu adalah tempat Anda bekerja (itu juga mudah diinstal melalui pip).

Satu perintah CLI AWS yang mungkin sesuai untuk menyinkronkan direktori lokal ke bucket S3:

$ aws s3 sync . s3://mybucket

Dokumentasi lengkap tentang perintah ini: http://docs.aws.amazon.com/cli/latest/reference/s3/sync.html

Edit: Seperti yang disebutkan oleh @ simon-buchan dalam komentar, aws s3api perintah memberi Anda akses ke API S3 lengkap, tetapi antarmukanya lebih "mentah".

s3cmd mendukung semua yang dilakukan AWS CLI, ditambah menambahkan beberapa fungsi yang lebih luas di atas, meskipun saya tidak yakin Anda akan membutuhkannya untuk tujuan Anda. Anda dapat melihat semua perintahnya di sini: http://s3tools.org/usage

Instalasi s3cmd mungkin sedikit lebih terlibat karena tampaknya tidak menjadi paket untuk itu di setiap repos utama distos.

boto adalah pustaka Python, dan sebenarnya SDK AWS Python resmi. CLI AWS, juga ditulis dengan Python, sebenarnya menggunakan bagian dari boto library (botocore). Ini hanya akan cocok jika Anda menulis skrip penerapan Anda dengan Python. Ada SDK resmi untuk bahasa populer lainnya (Java, PHP, dll.) Jika Anda lebih suka: http://aws.amazon.com/tools/

Bentuk akses paling kasar untuk S3 adalah melalui API REST AWS. Segala sesuatu yang lain dibangun di atasnya pada titik tertentu. Jika Anda suka berpetualang, inilah dokumentasi S3 REST API: http://docs.aws.amazon.com/AmazonS3/latest/API/APIRest.html


36
2017-10-16 04:18