在适用于Python的AWS Lambda中检测语法错误

时间:2019-08-31 03:44:07

标签: python aws-lambda

我在atom中运行了完善的python,但是AWS Lambda调试器不会告诉我语法错误在哪里(在Cloud9中)。有人发现我的lambda_handler问题吗?

使用Python在Cloud 9中进行编码,但我无法克服语法错误

import requests
from bs4 import BeautifulSoup
import time
import boto3
from boto3.dynamodb.conditions import Key, Attr

def lambda_handler(event, context):
  url = "https://finance.yahoo.com/quote/%5ETNX?p=^TNX"
  page = requests.get(url)
  soup = BeautifulSoup(page.text, 'html.parser')
  item = soup.find_all(class_='Trsdu(0.3s)')
  print(item[0].get_text())
  price = item[0].get_text()
  ts = time.gmtime()
  print(time.strftime("%Y-%m-%d %H:%M:%S", ts))
  dt = time.strftime("%Y-%m-%d", ts)
  hr = time.strftime("%H:%M:%S", ts)
  print(dt, hr)
  dynamodb = boto3.client('dynamodb')
  dynamodb.put_item(TableName='tnxPrices', Item={'price':{'S':price},'date':{'S':dt}, 'clockTime':{'S':hr}})
  return event[dt]

只是试图从yahoo财务中刮掉美国国库券的价格,然后将价格作为字符串写到DynamoDB。在我的本地计算机上可以运行,但是当我将代码放在lamdba_handler内时,它会失败,但是不会说在哪里

1 个答案:

答案 0 :(得分:0)

我看到您正在使用bs4和请求,是否有可能未将这些库作为lambda软件包的一部分包含在内?

https://aws.amazon.com/premiumsupport/knowledge-center/build-python-lambda-deployment-package/