I have a python code deployed on aws lambda. The code uses this code:
datetime.utcnow() + datetime.timedelta(minutes=30)
I am using import datetime
in the beginning of the file. But when I deploy this code on Lambda, I get this error: No module named datetime
datetime
is a part of python so it should be imported in aws on its own which is strange. How can I fix this? What package I should add?
I tried adding datetime.py in aws lambda package with code files but then it throws nonetype' object has no attribute 'strftime'
Please guide!
UPDATE: Attached info below-
Files whose zip package is made
Pasting just the lambda handler code, (with names and slight modifications, tried to maintain the general flow)
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)
Let me know if anything is needed
The code below works.
import datetime
def lambda_handler(event, context):
print(datetime.datetime.utcnow() + datetime.timedelta(minutes=30))