简体   繁体   中英

aws lambda python append to file from S3 object

I am trying to write the contents read from S3 object to a file. I am getting syntax error while doing the same.

    object =s3.get_object(Bucket=bucket_name, Key="toollib/{0}/{1}/stages/{0}.groovy".format(tool,platform))
    print(object)
    jenkinsfile = object['Body'].read()
    print(jenkinsfile)
    basepath = '/mnt/efs/{0}/{1}/{2}/'.format(orderid, platform, technology)
    filename = basepath+fileName
    print(filename)
    #file1=open(filename, "a")
    with open(filename, 'a') as file:
        file.write(jenkinsfile)

Error: "errorMessage": "write() argument must be str, not bytes"

Opening the file in binary mode should do the trick:

with open(filename, 'ab') as file:
    file.write(jenkinsfile)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM