我目前正在尝试使用AWS Lambda中的PyMySql python库在本地环境中查询Sql Server。
我要做的就是使用以下代码创建我的连接对象:
import pymysql
def lambda_handler(event, context):
conn = pymysql.connect(
host = 'MYSERVER',
port = 1433,
user = 'acctname',
passwd = 'acctpass',
db = 'dbName'
)
如果没有以下错误消息,我什至无法克服:
(2013, 'Lost connection to MySQL server during query ([Errno 104] Connection reset by peer)')
我可以确认端口和凭据正确。
我希望这不是AWS中lambda的限制。如果我可以从Lambda中获得用于SQL Server的其他服务或库,请告诉我!
编辑:我的lambda在连接到本地环境的VPC中运行。
答案 0 :(得分:0)
要使在VPC内运行的AWS Lambda函数访问VPC之外的任何内容,它必须位于VPC的私有子网中,该子网中包含到NAT网关的路由。 VPC内的Lambda函数无法获得公共IP地址,因此您必须通过NAT提供Internet访问。