Coba ini...
import boto
import boto.s3
import sys
from boto.s3.key import Key
AWS_ACCESS_KEY_ID = ''
AWS_SECRET_ACCESS_KEY = ''
bucket_name = AWS_ACCESS_KEY_ID.lower() + '-dump'
conn = boto.connect_s3(AWS_ACCESS_KEY_ID,
AWS_SECRET_ACCESS_KEY)
bucket = conn.create_bucket(bucket_name,
location=boto.s3.connection.Location.DEFAULT)
testfile = "replace this with an actual filename"
print 'Uploading %s to Amazon S3 bucket %s' % \
(testfile, bucket_name)
def percent_cb(complete, total):
sys.stdout.write('.')
sys.stdout.flush()
k = Key(bucket)
k.key = 'my test file'
k.set_contents_from_filename(testfile,
cb=percent_cb, num_cb=10)
[UPDATE] Saya bukan pythonist, jadi terima kasih atas perhatiannya tentang pernyataan impor. Juga, saya tidak akan merekomendasikan menempatkan kredensial di dalam kode sumber Anda sendiri. Jika Anda menjalankan ini di dalam AWS, gunakan Kredensial IAM dengan Profil Instance ( http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html ), dan untuk menjaga perilaku yang sama di Lingkungan Dev / Test Anda, gunakan sesuatu seperti Hologram dari AdRoll ( https://github.com/AdRoll/hologram )
Tidak perlu terlalu rumit:
sumber
key.set_contents_from_filename('some_file.zip')
juga akan bekerja di sini. Lihat dok . Kode yang sesuai untuk boto3 dapat ditemukan di sini .sumber
aws configure
, masukkan info Anda dan Anda akan secara otomatis terhubung dengan boto3. Periksa boto3.readthedocs.io/en/latest/guide/quickstart.htmlaws configure
sebelumnya untuk membuat hidup Anda lebih mudah.Saya menggunakan ini dan sangat mudah untuk diterapkan
https://www.smore.com/labs/tinys3/
sumber
boto3.client
Solusi sederhana (seperti jawaban Manish Mehra) segera bekerja.sumber
aws_access_key_id
danaws_secret_access_key
juga dapat dikonfigurasi dengan AWS CLI dan disimpan di luar skrip sehingga `client = boto3.client ('s3') dapat dipanggilUnggah file ke s3 dalam satu sesi dengan kredensial.
sumber
Ini juga akan berfungsi:
sumber
Ini adalah tiga kapal. Ikuti saja instruksi pada dokumentasi boto3 .
Beberapa argumen penting adalah:
Parameter:
str
) - Jalur ke file yang akan diunggah.str
) - Nama keranjang tujuan upload.str
) - Nama yang ingin Anda tetapkan ke file di bucket s3 Anda. Ini bisa sama dengan nama file atau nama lain pilihan Anda, tetapi jenis file harus tetap sama.Catatan: Saya berasumsi bahwa Anda telah menyimpan kredensial Anda di
~\.aws
folder seperti yang disarankan dalam praktik konfigurasi terbaik di dokumentasi boto3 .sumber
sumber
Menggunakan boto3
Untuk lebih lanjut: - https://boto3.amazonaws.com/v1/documentation/api/latest/guide/s3-uploading-files.html
sumber
Untuk contoh upload folder seperti kode berikut dan gambar folder S3
PS: Untuk URL referensi lebih lanjut
sumber
sumber
Saya memiliki sesuatu yang menurut saya memiliki lebih banyak pesanan:
Ada tiga variabel penting di sini, BUCKET const, file_to_upload dan file_name
BUCKET
: adalah nama bucket S3 Andafile_to_upload_path
: harus berupa jalur dari file yang ingin Anda unggahfile_name
: adalah file dan jalur yang dihasilkan dalam keranjang Anda (ini adalah tempat Anda menambahkan folder atau apa pun)Ada banyak cara tetapi Anda dapat menggunakan kembali kode ini di skrip lain seperti ini
sumber