amazon-web-services - Lambda ==> RDS ==> QuickSight
问题描述
我正在尝试做的事情
我正在研究一个 lambda 函数,它只会注册一些关于上传到 s3 存储桶的文件的元数据。这与实际处理文件中的数据无关。首先,我只想注册某些文件是否已上传的事实。然后我想将该元数据连接到 QuickSight,以便我们可以很好地了解哪些文件已上传。
到目前为止我所做的
这部分相当简单:
- 一些带有 pymysql 模块的简单 python 代码
- Chalice 管理创建和更新 lambda 函数的过程
- 我创建了数据库
我被困在哪里
QuickSight 通常在某种程度上是 AWS 外部的。所以我不得不在我们 VPC 的 DMZ 中创建 RDS (mysql)。
我已经配置了安全组,以便可以从 QuickSight 和我自己的笔记本电脑访问数据库。
但是 lambda 函数无法连接。
- 我为角色配置了正确的策略,以便 lambda 可以与 IAM 连接
- 我用模拟器测试了该策略
- 但当然 lambda 函数将具有某种动态 IP,并且需要在安全组中
有任何想法吗 ??
我什至在想这个对吗?
解决方案
两件事情。
- 您不必将 RDS 放在 DMZ 中。请参阅这篇关于授予 QuickSight 访问您的 RDS 的文章:https ://docs.aws.amazon.com/quicksight/latest/user/enabling-access-rds.html
- 为了让 lambda 访问 VPC(如 RDS 实例)中的某些内容,lambda 必须具有 VPC 配置。https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html
推荐阅读
- java - 使用 java 和 Xpath 获取 xml 的所有属性
- sql - 如何修复数据库中的拼写错误 在该记录中有多个记录 还有更多记录
- python - Python Matplotlib 在后台更新绘图
- sphinx - 在 sphinx-query 中使用不同 user_weights 的字段两次
- python-3.x - 'map' 对象在 python3 中不可下标
- scala - 如何从单个字符串列 RDD 中有效地提取多列?
- linux - http:接受错误:接受tcp [::]:8080:accept4:打开的文件太多;
- c# - Python 上的 C# DLL
- blazor - Blazor,使用 Fabric-js 控件
- f# - 如何使 F# Giraffe 默认路由指向 /health?