Строковые индексы должны быть целыми ошибками в python - PullRequest
0 голосов
/ 04 мая 2020

Я написал код в AWS Лямбда-функция в Python 3.8 Код выглядит следующим образом:

import base64
import json
from datetime import datetime

# Incoming Event
def lambda_handler(event, context):
    output = []
    now = datetime.utcnow().isoformat()

    # Loop through records in incoming Event
    for record in event['records']:

    # Extract message
       # message = json.loads(base64.b64decode(record['data']))
         message = base64.b64decode(str(record['data'])[2:-1]).decode('utf-8')
         record.update(json.loads(message))

        # Construct output
         data_field = {
            'timestamp': now,
            'ticker_symbol': message['ticker_symbol'],
            'price': message['price']
        }
         output_record = {
            'recordId': record['recordId'],
            'result': 'Ok',
            'data': base64.b64encode(json.dumps(data_field))
        }
         output.append(output_record)

    return {'records': output}

Код получает ввод и добавляет метку времени к введенным данным. И выводит запись. Формат ввода имеет вид:

{
  "records": {
      "data":{
            "ticker_symbol":"ABC",
            "price": "123"
      }
  }
}

И я получаю сообщение об ошибке:

errorMessage: «строковые индексы должны быть целыми числами», errorType: «TypeError»,

...