我在aws lambda上部署了python代码。该代码使用此代码:在aws lambda上部署的代码没有名为'datetime'的模块
datetime.utcnow() + datetime.timedelta(minutes=30)
我在文件的开头使用import datetime
。但是,当我上部署LAMBDA这个代码,我得到这个错误:No module named datetime
datetime
是蟒蛇的一部分,所以应该在AWS导入自身这是奇怪的。我怎样才能解决这个问题?我应该添加什么包?
我试着在AWS加入datetime.py拉姆达包代码文件,但随后抛出nonetype' object has no attribute 'strftime'
请指导!
UPDATE:如下─
粘贴刚才的拉姆达处理程序代码,(姓名和轻微的修改,试图保持一般流程)
import sys
import json
import traceback
import os
import datetime
from dynamo_db_helper import DynamoDBHelper
from api_helper import ApiHelper
from google_drive_helper import GoogleDriveHelper
from sflogger import Logger
def lambda_handler(event, context):
try:
id = event["Id"]
set_config(id)
val1 = event["key1"]
val2 = event["key2"]
val3 = event["key3"]
val4 = event["key4"]
val5 = event["key5"]
val6 = event["key6"]
val7 = event["key7"]
val8 = event["key8"]
val9 = event["key9"]
val10 = stop_session_url.replace("/stopsession", "/verify/")
db_helper = DynamoDBHelper(URL, DYNAMO_DB_METADATA_TABLE_NAME, stream_id)
data = db_helper.get_item_from_db(id)
if data is not None \
and data['LastModifiedTime'] < datetime.datetime.utcnow() + datetime.timedelta(minutes=30):
link = data["Link"]
else:
if data is not None \
and data['Time'] > datetime.datetime.utcnow() + datetime.timedelta(minutes=30):
db_helper.delete_item_from_db(id)
link = perform_this(event, db_helper, val10)
if link is None:
response = set_fail("error_message")
return response
response = set_success(link)
return response
except Exception as e:
response = set_fail("error_message")
return response
def set_fail(msg):
response = {"status": "Google Editing session Failed", "message": msg}
return json.dumps(response)
def set_success(link):
response = {"status": "Success", "webViewLink": webViewLink}
return json.dumps(response)
让我知道是否需要任何东西
我发布的代码工作 - 你如何部署lambda函数? –
@ j-u-s-t-i-n我正在创建一个需要的所有软件包并上传压缩文件的zip文件。它会抛出'No module named datetime' – Atihska