从 AWS Lambda 使用 Windows Auth 调用 MSSQL
Call MSSQL with Windows Auth from AWS Lambda
当 MSSQL 是 windows 域的一部分并且只允许 windows 身份验证时,是否可以从 AWS Lambda 调用 MSSQL?
例如。 AD用户下有什么方法可以运行 Lambda函数吗?
或使用 AD 连接器将 AD 用户与 IAM 帐户相关联,并在该帐户下使用 运行 Lambda?
是的,我们可以在 lambda 函数中使用 pymssql
python 模块来连接到 mssql 服务器并执行您的命令。您需要将 pymssql
模块压缩为 lambda 部署包。
这里是命令和连接的例子:
import boto3
import pymssql
#setup connection
conn = pymssql.connect("serverurl", "username", "password", "dbname")
#setup cursor, so that you can use it to execute your commands
cursor = conn.cursor()
cursor.execute("""
CREATE TABLE persons (
id INT NOT NULL,
name VARCHAR(100),
salesrep VARCHAR(100),
PRIMARY KEY(id)""")
# you must call commit() to persist your data if you don't set autocommit to True
conn.commit()
But, to connect using Windows Authentication, here is some mods:
When connecting using Windows Authentication, this is how to combine the database’s hostname and instance name, and the Active Directory/Windows Domain name and the username.
conn = pymssql.connect(
host=r'dbhostname\myinstance',
user=r'companydomain\username',
password=PASSWORD,
database='DatabaseOfInterest'
)
当 MSSQL 是 windows 域的一部分并且只允许 windows 身份验证时,是否可以从 AWS Lambda 调用 MSSQL? 例如。 AD用户下有什么方法可以运行 Lambda函数吗? 或使用 AD 连接器将 AD 用户与 IAM 帐户相关联,并在该帐户下使用 运行 Lambda?
是的,我们可以在 lambda 函数中使用 pymssql
python 模块来连接到 mssql 服务器并执行您的命令。您需要将 pymssql
模块压缩为 lambda 部署包。
这里是命令和连接的例子:
import boto3
import pymssql
#setup connection
conn = pymssql.connect("serverurl", "username", "password", "dbname")
#setup cursor, so that you can use it to execute your commands
cursor = conn.cursor()
cursor.execute("""
CREATE TABLE persons (
id INT NOT NULL,
name VARCHAR(100),
salesrep VARCHAR(100),
PRIMARY KEY(id)""")
# you must call commit() to persist your data if you don't set autocommit to True
conn.commit()
But, to connect using Windows Authentication, here is some mods: When connecting using Windows Authentication, this is how to combine the database’s hostname and instance name, and the Active Directory/Windows Domain name and the username.
conn = pymssql.connect(
host=r'dbhostname\myinstance',
user=r'companydomain\username',
password=PASSWORD,
database='DatabaseOfInterest'
)