AWS Lambda возвращает пустой json

#python #json #python-3.x #amazon-web-services #aws-lambda

Вопрос:

Я пытаюсь вернуть строки json в AWS lambda. Этот код работал на моей локальной машине, но в AWS lambda возвращаются пустые строки json. Соответствующие части моего кода приведены ниже

 import json
import time as time
import pandas as pd                        
from pytrends.request import TrendReq #to connect to google trends and request trends
from datetime import datetime
from datetime import date


def lambda_handler(event, context):
   #irrelevant parts of code here
   #......
    DfmergedTopJson = DfmergedTop.to_json(orient="records") #DfmergedTop is dataframe
    DfmergedRiseJson = DfmergedRise.to_json(orient="records") #DfmergedRiseJson is a df 
    dfjson = df.to_json(orient="records")
    return DfmergedTopJson, DfmergedRiseJson
 

Выход есть

 Test Event Name
EventGoogle
Response
[
  "[]",
  "[]"
]
 

На самом деле мой вывод представляет собой длинную строку json, которую я успешно напечатал на своем локальном компьютере.
Пожалуйста, предложите мне возможное решение для этого.

Ответ №1:

  1. действительно ли ваша лямбда-функция генерировала ожидаемые значения? используйте эту print функцию для регистрации переменных времени выполнения, т. Е.: DfmergedTopJson и DfmergedRiseJson , чтобы вести журнал CloudWatch, затем оцените журналы.
  2. возможно, вы также захотите зарегистрировать event объект, чтобы увидеть, что отправляется в вашу лямбда-функцию, содержимое может оказаться не таким, как вы ожидали.

https://docs.aws.amazon.com/lambda/latest/dg/python-logging.html