我在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内时,它会失败,但是不会说在哪里
答案 0 :(得分:0)
我看到您正在使用bs4和请求,是否有可能未将这些库作为lambda软件包的一部分包含在内?
https://aws.amazon.com/premiumsupport/knowledge-center/build-python-lambda-deployment-package/