如何使用Amazon Lambda将XML文件写入S3

时间:2017-02-17 17:58:55

标签: python-2.7 amazon-web-services amazon-s3 aws-lambda

我的下面的代码效果很好,并在我的本地计算机中创建了一个xml文件。但是,我想在lambda中运行这个函数来将XML文件写入s3存储桶中的文件夹,我必须进行哪些修改或至少建议我采取一种意识形态来实现这一目标?我对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')

1 个答案:

答案 0 :(得分:1)

导入AWS SDK(Boto3)。将文件写入/tmp目录(您可以在Lambda中写入文件的唯一位置)。编写完文件后,请调用AWS SDK将文件复制到S3存储桶。

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