2

我在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:如下─

日志附加信息: enter image description here

如果文件的压缩包是由 Zip Structure

粘贴刚才的拉姆达处理程序代码,(姓名和轻微的修改,试图保持一般流程)

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) 

让我知道是否需要任何东西

+0

我发布的代码工作 - 你如何部署lambda函数? –

+0

@ j-u-s-t-i-n我正在创建一个需要的所有软件包并上传压缩文件的zip文件。它会抛出'No module named datetime' – Atihska

回答

1

下面的代码工作。

import datetime 

def lambda_handler(event, context): 
    print(datetime.datetime.utcnow() + datetime.timedelta(minutes=30)) 
+0

它不适用于我。它会抛出'No module named datetime'。 – Atihska

+0

@Atihska - 你能告诉我们你使用的代码(基于Justin的例子)并返回错误信息吗?另外,请让我们知道压缩文件中的文件名。 –

+0

@JohnRotenstein添加日志,代码和zip结构 – Atihska

相关问题