要解决“Atlas MongoDB与Lambda通过VPC的连接无法工作”问题,可以按照以下步骤进行操作:
确保Atlas MongoDB集群已配置为允许VPC Peering。在Atlas控制台中,导航到“Network Access”(网络访问)选项卡,并确保已启用“VPC Peering”(VPC对等)。
确保Lambda函数已配置为使用正确的VPC。在Lambda函数的配置中,导航到“Network”(网络)选项卡,并选择正确的VPC ID。确保所选的VPC与Atlas MongoDB集群在同一个AWS区域中。
确保Lambda函数的安全组和网络访问控制列表(Network ACL)已正确配置。确保安全组允许出站流量和入站流量。确保网络ACL允许与Atlas MongoDB集群的端口进行通信。常见的Atlas MongoDB端口是27017。
下面是一个示例的Lambda函数代码,用于与Atlas MongoDB进行连接:
import pymongo
def lambda_handler(event, context):
# 设置Atlas MongoDB的连接字符串
conn_str = "mongodb+srv://:@.mongodb.net/?retryWrites=true&w=majority"
# 创建MongoDB客户端
client = pymongo.MongoClient(conn_str)
# 连接到指定的数据库和集合
db = client["mydatabase"]
collection = db["mycollection"]
# 在集合中插入一条记录
collection.insert_one({"name": "John", "age": 30})
# 关闭MongoDB客户端连接
client.close()
return {
'statusCode': 200,
'body': 'Data inserted successfully'
}
请确保替换代码中的
,
,
和
为实际的Atlas MongoDB连接信息。