我是AWS和lambda的傻瓜,所以如果这是个愚蠢的问题,我道歉。我想做的是把一个电子表格加载到一个s3存储桶中,根据上传的内容触发lambda,让lambda将csv加载到pandas中并处理它,然后将数据帧写回csv到另一个s3存储桶中。在
我读过很多关于压缩python脚本、所有库和依赖项并上传的文章,这是一个单独的问题。我还了解了如何在将文件上传到S3存储桶时触发lambda,并自动将该文件复制到第二个S3存储桶。在
我找不到任何有关信息的部分是中间部分,将文件加载到pandas中并在pandas中操作文件都在lambda函数内。在
第一个问题:这样的事情有可能吗? 第二个问题:如何从s3桶中“抓取”文件并将其加载到pandas中?会是这样吗?在
import pandas as pd
import boto3
import json
s3 = boto3.resource('s3')
def handler(event, context):
dest_bucket = s3.Bucket('my-destination-bucket')
df = pd.read_csv(event['Records'][0]['s3']['object']['key'])
# stuff to do with dataframe goes here
s3.Object(dest_bucket.name, <code for file key>).copy_from(CopySource = df)
是吗?我真的不知道那是不是很接近右边,完全是在黑暗中拍摄。任何和所有的帮助将是非常感谢,因为我很明显是我的元素!在
此代码在PUTS上触发Lambda函数,然后获取它,然后将其放入另一个bucket中:
我把这段代码从我编写的一个更复杂的Lambda脚本中分离出来,不过,我希望它能显示一些您需要做的事情。对象的PUTS只触发SCIP。事件触发后发生的任何其他操作都由您来编写到脚本中。在
^{pr2}$前几行中的Bucket和key是触发事件的对象的Bucket和key。其他一切都由你决定。在
相关问题 更多 >
编程相关推荐