Python 2.7 如何使用AmazonLambda将XML文件写入S3

Python 2.7 如何使用AmazonLambda将XML文件写入S3,python-2.7,amazon-web-services,amazon-s3,aws-lambda,Python 2.7,Amazon Web Services,Amazon S3,Aws Lambda,下面是我的代码,它运行良好,并在本地机器中创建了一个xml文件。但是,我想在lambda中运行这个函数,将一个XML文件写入s3 bucket中的一个文件夹中,我需要做什么修改,或者至少建议我一种实现这一点的思想?我是AWS服务的新手,任何帮助都将不胜感激 import pymysql def query_db(outfileName): outfile = file(outfileName, 'w') connection = pymysql.connect( host='X

下面是我的代码,它运行良好,并在本地机器中创建了一个xml文件。但是,我想在lambda中运行这个函数,将一个XML文件写入s3 bucket中的一个文件夹中,我需要做什么修改,或者至少建议我一种实现这一点的思想?我是AWS服务的新手,任何帮助都将不胜感激

import pymysql
     def query_db(outfileName):
outfile = file(outfileName, 'w')
connection = pymysql.connect(
    host='XXXXXX',
    user='XXXXXX',
    password='XXXXX',
    database='XXXXX',
)
cursor = connection.cursor()
cursor.execute("select title from table1;")
rows = cursor.fetchall()
outfile.write('<?xml version="1.0" encoding="utf-8"?>\n')
outfile.write('<source>\n')
for row in rows:
    outfile.write('  <job>\n')
    outfile.write('    <title><![CDATA[%s]]></title>\n' % row[0]) 
    outfile.write('  </job>\n')
outfile.write('</source>\n')
outfile.close()
query_db('data.xml')
导入pymysql
def查询数据库(输出文件名):
outfile=文件(outfileName,“w”)
connection=pymysql.connect(
主机='XXXXXX',
用户='XXXXXX',
密码='XXXXX',
数据库='XXXXX',
)
cursor=connection.cursor()
cursor.execute(“从表1中选择标题;”)
rows=cursor.fetchall()
outfile.write(“\n”)
outfile.write(“\n”)
对于行中的行:
outfile.write(“\n”)
outfile.write('\n'%1]行[0])
outfile.write(“\n”)
outfile.write(“\n”)
outfile.close()
查询数据库('data.xml')
导入AWS SDK(Boto3)。将文件写入
/tmp
目录(您可以在Lambda中写入文件的唯一位置)。完成文件编写后,调用AWS SDK将文件复制到S3存储桶中


或者,您可以研究将XML文件内容流式传输到S3,但这需要更多的代码更改。

我尝试了您建议的方法,但仍然将错误显示为“IOError:[Errno 30]只读文件系统:'\tmp\\data.XML'My bad it works!huhu我之前用了其他方式添加了斜杠