- musíte vědět, že Lambda zkopíruje vaši funkci do local /var/task/
- vytvořte instanci pomocí oficiálního rozhraní Lambda AMIhttps ://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html
- spusťte instanci, přihlaste se
yum install gcc gcc-c++
- přejděte do /home/ec2-user
- Stáhněte si posledního správce unixodbc z:ftp://ftp.unixodbc.org/pub/unixODBC/
wget ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.5.tar.gz
tar xvzf unixODBC-2.3.5.tar.gz
cd unixODBC-2.3.5
-
nakonfigurujte jej se správnou hodnotou sysconfdir
./configure --sysconfdir=/var/task --disable-gui --disable-drivers --enable-iconv --with-iconv-char-enc=UTF8 --with-iconv-ucode-enc=UTF16LE --prefix=/home
make install
- Přejděte do adresáře /home a zkopírujte adresář bin,include,lib,share v počítači, kde je projekt Lambda (např.:C:\AWS\Lambda\sql_query)
- nainstalujte do své instance EC2 ovladač Microsoft libmsodbcsql-13.1.so.9.1 a poté zkopírujte soubor ovladače do místního adresáře vašeho počítače (např. C:\AWS\Lambda\sql_query\msodbcsql\msodbcsql\lib64)
- Podívejte sehttps://blogs.msdn.microsoft.com/sqlnativeclient/2017/02/04/odbc-driver-13-1-for-linux-released/
- Ve svém počítači ve stejném kořenovém adresáři vytvořte soubor odbcinst.ini
[ODBC Driver 13 for SQL Server]
Description=Microsoft ODBC Driver 13 for SQL Server
Driver=/var/task/msodbcsql/msodbcsql/lib64/libmsodbcsql-13.1.so.9.1
UsageCount=1
-
Na svém počítači ve stejném kořenovém adresáři vytvořte soubor odbc.ini
[ODBC Driver 13 for SQL Server] Driver = ODBC Driver 13 for SQL Server Description = My ODBC Driver 13 for SQL Server Trace = No
-
ve svém programu python použijte pyodbc:
import pyodbc def lambda_handler(event, context): server = "xxxxxxxxxxxxxxxxxxxx" database = "xxxxxxxxxxxxxxxxxxxx" username = "xxxxxxxxxxxxxxxxxxxx" password = "xxxxxxxxxxxxxxxxxxxx" cnxn = pyodbc.connect('DRIVER={ODBC Driver 13 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password) cursor = cnxn.cursor() ...other things....
-
a teď hrajte hru!