python - Lambda函数在上传时将文件一个s3复制到另一个s3
问题描述
如何将带有 csv 的文件复制到另一个存储桶中
我在 AWS 中有 3 个存储桶 a)test b)testjson c)testcsv
我已经上传 data.json 和 data.csv 到测试桶
上传文件后发生以下事情
data.json 文件被复制到 testjson 存储桶
data.csv 文件被复制到 testcsv 存储桶
数据.json
{
"emp_id": "3",
"Name" : "Madk"
"Company": "FB"
}
数据.csv
emp_id,Name,Company
3,Madk,FB
在这个 lambda 处理程序中,我只需要将 .json 复制到另一个存储桶中,并将 .csv 复制到另一个存储桶中
解决方案
如果你想
创建已存储在 Amazon S3 中的对象的副本。
那么copy_object是进入boto3的方式。
示例代码
import boto3
bucket_from = "test"
bucket_to_json = "testjson"
bucket_to_csv = "testcsv"
s3 = boto3.resource('s3')
name = 'data.json'
s3.meta.client.copy_object(
Bucket=bucket_to_json,
CopySource={'Bucket': bucket_from, 'Key': name},
Key=name
)
name = 'data.csv'
s3.meta.client.copy_object(
Bucket=bucket_to_csv,
CopySource={'Bucket': bucket_from, 'Key': name},
Key=name
)
推荐阅读
- apache-kafka - 解释 kafka-producer-perf-test 的输出
- raspberry-pi - 使用节点 red 模拟多个 modbus 从设备
- r - R data.frame 中 df$i 和 df[[i]] 的区别
- python - 幂律数据拟合不正确
- cocoapods - 刚刚把新版本的pod推送到cocoapods,但是无法安装
- javascript - 通过反应组件中的 HTML 样式属性将 javascript 变量传递给 css 变量
- html - 表单返回 ?query 而不是返回搜索结果页面
- java - 来自 Fortify 扫描的 Delta 问题
- c - 如何在 Windows 上捕获原始键盘输入
- reactjs - 从客户端调用时,AWS GET 请求返回网络错误