Когда я вставляю объект данных в поток AWS, используя операцию put, он работает нормально. Поскольку лямбда-функция включена в моем потоке пожарных шлангов. Затем вызывается лямбда-функция, но выдает ошибку ответа структуры вывода:
"errorMessage":"Invalid output structure: Please check your function and make sure the processed records contain valid result status of Dropped, Ok, or ProcessingFailed."
так что теперь я создал свою лямбда-функцию следующим образом, чтобы сделать правильный вывод:
import base64
import json
print('Loading function')
def lambda_handler(event, context):
output=[]
print('event'+str(event))
for record in event['records']:
payload = base64.b64decode(record['data'])
print('payload'+str(payload))
payload=base64.b64encode(payload)
output_record={
'recordId':record['recordId'],
'result': 'Ok',
'data': base64.b64encode(json.dumps('hello'))
}
output.append(output_record)
return { 'records': output }
Теперь я получаю следующую ошибку при кодировании поля данных как
"errorMessage": "a bytes-like object is required, not 'str'",
и если я изменяю 'привет' на байты типа b'hello ', тогда я получаю следующую ошибку:
"errorMessage": "Object of type bytes is not JSON serializable",