簡體   English   中英

如何在本地創建的 SAM Lambda 應用程序中添加 Python 庫?

[英]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": []}

雖然,我已將 python 庫添加到文件夾中,如下圖所示: 在此處輸入圖像描述

請告訴我如何在本地創建的 SAM 應用程序中添加庫。

我在 AWS 控制台上添加了庫,但在本地環境中,我不知道在哪里添加這些庫。

您需要將pymongo添加到使用模塊的每個 lambda 函數的requirements.txt中。

它不是標准模塊,也不是 lambda 上預裝的模塊。 您需要為 SAM 顯式指定所有此類模塊以將它們包含到 lambda 代碼中。

無需手動復制模塊,讓 pip 完成工作。 它還將處理依賴關系。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM