0
をアップロード:インメモリzipファイルは、私はメモリ内のzipファイルを作成し、次のようにS3にアップロード午前0 Bオブジェクト
def upload_script(s3_key, file_name, script_code):
"""Upload the provided script code onto S3, and return the key of uploaded object"""
bucket = boto3.resource('s3').Bucket(config.AWS_S3_BUCKET)
zip_file = BytesIO()
zip_buffer = ZipFile(zip_file, "w", ZIP_DEFLATED)
zip_buffer.debug = 3
zip_buffer.writestr("{}.py".format(file_name), script_code)
for zfile in zip_buffer.filelist:
zfile.create_system = 0
zip_buffer.close()
upload_key = "{}/{}_{}.zip".format(s3_key, file_name, TODAY())
print zip_buffer.namelist(), upload_key
bucket.upload_fileobj(zip_file, upload_key)
return upload_key
テスト実行のために次のようにプリントし、戻り値は次のとおり
['s_o_me.py'] a/b/s_o_me_20171012.zip
a/b/s_o_me_20171012.zip
テストスクリプトは、単純なPythonのラインです:
print upload_script('a/b', 's_o_me', "import xyz")
ファイルがS3バケット内に作成されている
、彼らはあります0Bのサイズです。バッファが正しく書き込まれたりアップロードされないのはなぜですか?