Я написал код в 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»,