AWS Lambda函數中python腳本引入pymssql包


AWS Lambda函數中python腳本引入pymssql包

本來是看上去一件很簡單的事情,卻花了我半天多的時間.主要里面的坑比較多.所以寫個博客,萬一有人碰到了可以少走點彎路.

  1. 首先我是在WINDOWS下面開發的python腳本,實現內容也很簡單也就是連接下sqlserver數據庫,然后做一下更新(其實這些工作可以數據庫自己的計划任務來實現). 但是正好要熟悉下AWS的Lambda怎么使用,所以就用pyhon寫了然后放到AWM的Lambda上面.

  2. 起初我以為這些import的包Lambda已經幫我們都引入了.后來才發現這些要通過pip下載的包也是需要自己打包好了上傳到Lambda的.

  3. 因為AWS Lambda支持zip格式上傳,所以我們要把需要的包和自己代碼放到一個文件下面然后打包.記住:打包的時候要進入文件夾里面,不要打包文件夾.

  4. 怎么做:那就把需要的包pip安裝到指定的位置,這樣也不會有多余的包,然后再把需要的代碼拷貝到對應的位置.最后打成zip格式的上傳即可.

  5. 那么問題來了,我在windows下面按照上面的步驟一步步做完后上傳到了Lambda,但是測試的時候還是提示我找不到pymssql包.這就很郁悶了.

  6. 找了很多資料也沒說啥,最后發現AWS Lambda是基於Linux的系統,如果用windows下面的包是不是會有問題?

  7. 所以我就馬上裝了Linux虛擬機,最后從Linux下面把需要的包pip到指定的位置然后包拷貝到了下來重新打包.上傳之后確實不會報錯說找不到pymssql.

  8. 但是報錯說找不到文件夾:libsybdb-89a09a88.so.5.1.0,這就很神奇了,這個文件夾是什么鬼.然后查找發下,這是pymssql下面隱藏文件夾里面的,所以從linux下面把包下載到windows的時候要注意把隱藏文件也下載下來.

  9. 最后終於搞好了....


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM