python - 将代码上传到AWS lambda错误Runtime.ImportModuleError

标签 python amazon-web-services aws-lambda

我试图将此抓取代码放在 AWS Lambda 上,当我尝试测试代码时,出现以下错误:

"errorMessage": "Unable to import module 'lambda_function': No module named 'lambda_function'",
  "errorType": "Runtime.ImportModuleError"

代码:

from datetime import datetime
from functions import MultiplePageScraper, CleanTable, upload_unique, pages
from sqlalchemy import create_engine
now = datetime.now()
date = now.date()

# Credentials:
host = xxxxx
user = "admin"
password = xxxxx
port = 3306
database = "vehicles"
# Create connection
mydb = create_engine("mysql+pymysql://" + user + ':' + password + '@' + host + ':' + str(port) + '/' + database , echo=False)

# Target Url :
URL = "https://www.usedcars.co.ke/nairobi/cars-for-sale?page="

def lambda_handler(event, context):
    # Retrive the data and clean it
    page_count = pages(URL)
    data = MultiplePageScraper(URL, int(page_count))
    clean_data = CleanTable(data)
    # Check for duplicates scraped Vs Database
    upload_data = upload_unique(clean_data, mydb)
    # Upload data to RDS database
    if upload_data.shape[0] > 1:
        upload_data.to_sql(name='CARS', con=mydb, if_exists = 'append', index=False)
        print(f'Uploaded {upload_data.shape[0]} unique rows to the database!')
    else:
        print('No new cars to upload.')

我不知道这个错误意味着什么,有人可以帮忙吗?

最佳答案

默认情况下,新的Python lambda函数将查找lambda_function.py文件并调用lambda_handler方法:

enter image description here

您可以使用函数的运行时设置来更改它。

关于python - 将代码上传到AWS lambda错误Runtime.ImportModuleError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66734570/

相关文章:

python - 如何使用 Python 打印多行文本

python - 为什么复制的对象与之前在 Python 中复制的对象具有相同的 id?

python - 有没有一种为 scipy.optimize.root 或 scipy.optimize.fsolve 动态创建非线性方程的好方法?

amazon-web-services - 如何使用 AWS go SDK 检查是否为 ECS 服务启用了自动扩展?

amazon-web-services - 如何从 AWS CLI 打印某个 Lambda 函数的最新 Cloudwatch 日志?

amazon-web-services - 事件完成后触发 AWS lambda

python - 有没有在python中应用的实现

amazon-web-services - Amazon S3 复制对象权限

c# - Fiddler 不捕获来自 C# 应用程序的请求

amazon-web-services - AWS API 网关 SSL : certificate subject name (*. execute-api.ap-south-1.amazonaws.com) 与目标主机名 'custom-domain' 不匹配