![](/img/trans.png)
[英]How to locally debug AWS SAM Lambda function (Python) which references layer that exists on different git repo/project
[英]How to add Python libraries in locally created SAM Lambda app?
我在我的機器和本地 MongoDB 上創建了本地 SAM Lambda 應用程序。 我的目的是在 SAM 應用程序和 MongoDB 之間建立連接。 你可以看到代碼:
import json
import pymongo
client = pymongo.MongoClient('mongodb://127.0.0.1:27017/')
mydb = client['Employee']
def lambda_handler(event, context):
information = mydb.employeeInformation
record = {
'FirstName' : 'Rehan',
'LastName' : 'CH',
'Department' : "IT"
}
information.insert_one(record)
print("Record added")
return {
"statusCode": 200,
"body": json.dumps(
{
"message": "Finally my local lambda worked.",
}
),
}
我使用 Pip install pymongo 添加了 python 庫“PyMongo”。 但是當我執行這個 SAM Lambda 應用程序時,它會拋出一個錯誤,上面寫着:
{"errorMessage": "Unable to import module 'app': No module named 'pymongo'", "errorType": "Runtime.ImportModuleError", "requestId": "d9a99323-2331-4228-s5f6-dd2e18d6a85e", "stackTrace": []}
請告訴我如何在本地創建的 SAM 應用程序中添加庫。
我在 AWS 控制台上添加了庫,但在本地環境中,我不知道在哪里添加這些庫。
您需要將pymongo
添加到使用模塊的每個 lambda 函數的requirements.txt
中。
它不是標准模塊,也不是 lambda 上預裝的模塊。 您需要為 SAM 顯式指定所有此類模塊以將它們包含到 lambda 代碼中。
無需手動復制模塊,讓 pip 完成工作。 它還將處理依賴關系。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.