2016-02-17 121 views
4

我的應用程序執行一些http請求,並將結果插入到SQL Server數據庫中。 SQL服務器是在亞馬遜的RDS服務,我使用默認的VPC設置。Python - SQL Server AWS Lambda集成

當我嘗試使用它在AWS拉姆達(打包爲它的AWS-拉姆達文檔上所定義),它提供瞭如下錯誤:

module initialization error: 'ODBC Library is not found. Is LD_LIBRARY_PATH set?'

我使用pypyodbc作爲蟒MSSQL模塊。

我需要手動設置odbc庫嗎?

附角色包括policiy:

  • AWSLambdaVPCAccessExecutionRole

編輯:我試圖用ceodbc和pyodbc,無法找到模塊 「提出了」 錯誤。 (在virtualenv中使用ceodbc whl文件安裝,pyodbc使用pip) 注意:這兩個文件在根目錄中具有.pyd文件擴展名,因爲它們也位於site-packages文件夾中。我想amazon lambda在執行時不包含pyd文件。

編輯2:按照這些步驟,得到相同的錯誤。 https://docs.aws.amazon.com/lambda/latest/dg/vpc-rds-create-rds-mysql.html

回答

0

它似乎不是一個VPC問題,但更多的不是在lambda中的包的問題。

在Python中,最好的辦法就是壓縮所有在.zip前將拉姆達文件夾中安裝你的包:(我不知道pypyodbcpymsql爲我工作) $ pip install YOUR_MODULE -t YOUR_LAMBDA_FOLDER