因此,在使用Python进行编码时,我仍然是一个菜鸟,但是我想知道是否有人会帮助我解决问题。
我工作的客户端使用eDiscovery系统Venio。他们有一个Web,应用程序,数据库和linux服务器,它们在AWS的EC2实例上运行。
现在,当客户将文档上传到他们的服务器时,他们最终将内容重新下载到另一个驱动器,从而给自己带来了额外的工作。在其系统上提供文件时,还存在速度问题。
在Lambda中使用脚本设置了自动快照之后,我开始考虑将它们的海量文件存储在CloudFront后面的S3中可能是一种更好的方法。
有人知道是否有一种方法可以制作一个Python脚本来查找文件中的关键字(例如“ Use”,“ Discard”),然后将它们自动分成不同的存储桶吗?
任何建议将不胜感激!
更新:
这是我启动的脚本:
import boto3
# Creates S3 client
s3 = boto3.client('s3')
filename = 'file.txt'
bucket_name = 'responsive-bucket'
keyword_bucket = {
'use': 'responsive-bucket',
'discard': 'non-responsive-bucket',
}
基本上,我想要的是当客户端通过Web API上传文件时,会触发python脚本,该脚本会寻找响应式或非响应式的关键字。一旦识别出这些密钥,就会将这些文件推送到相应的命名存储桶中。响应文件将保留在标准s3存储桶中,无用文件将进入s3-IA存储桶。在设定的时间后,它们将进入冰川的生命周期。
任何帮助都会很棒!
答案 0 :(得分:0)
如果您可以建立keywords => bucket names
的映射,则可以使用字典。例如:
keyword_bucket = {
'use': 'bucket_abc',
'discard': 'bucket_xyz',
'etc': 'bucket_whatever'
}
然后打开文件并搜索关键字。当关键字匹配时,您可以使用上面的词典找到文件应存放到的对应存储区。