【问题标题】:AWS Lambda, python and AWS SFTP StackAWS Lambda、python 和 AWS SFTP 堆栈
【发布时间】:2020-09-08 19:45:20
【问题描述】:
我有一个 AWS FTP 正在运行,我正在向它发送文件,我正在发送 CSV 文件,我想将我的所有 .CSV 文件导入到我的数据库中。
我的数据库在 EC2 实例上运行。
堆栈:
AWS SFT(发送文件 CSV)--> S3 --->(文件上传时触发 lambda)---> Lambda [python:获取 csv 并导入到 db]
我想知道这是否可能?
谢谢!
【问题讨论】:
标签:
database
csv
amazon-ec2
aws-lambda
sftp
【解决方案1】:
是的,这是可能的。
- 将您的 Lambda 中的触发器添加到您将发送 CSV 文件的 S3 存储桶。
-
确保 Lambda 有权限获取 S3 存储桶中的对象,并且可以连接到 EC2 实例。
-
创建代码以在触发 Lambda 时从 S3 读取对象内容。
- 您已准备好创建自动化。
我的示例代码:
import boto3
s3 = boto3.client("s3")
def lambda_handler(event, context):
for record in event.get("Records", []):
bucket_name = record["s3"]["bucket"]["name"]
object_key = record["s3"]["object"]["key"]
response = s3.get_object(Bucket=bucket_name, Key=object_key)
content = response["Body"].read()