Я работаю над потоком, который принимает полезные данные (несколько контактов) и удаляет их из базы данных Postgres. Я использую массовый режим для повышения эффективности, и в настоящее время он работает, как и ожидалось.
Когда в прошлом я работал с одиночными входами полезной нагрузки, Я могу получить ответ на счетчик строк 0/1
после удаления и вернуть соответствующую полезную нагрузку на основе этого.
Моя проблема в том, что при использовании группового режима он возвращает массив успехов / неудач для удаления: ie [1,1,1,0]
, указывающий, что три записи были удалены, но одна не удалась.
Как я мог подойти к этому вопросу, чтобы я мог вернуть в ответ дополнительные данные, например полезную нагрузку, которую не удалось вставить?
Пример ввода:
[{
"contactId": "ABC123",
"sourceOrgId": "12345"
},
{
"contactId": "DEF567",
"sourceOrgId": "67890"
}]
Пример требуемого вывода:
[{
"contactId": "ABC123",
"sourceOrgId": "12345",
"status": 0
},
{
"contactId": "DEF567",
"sourceOrgId": "67890",
"status": 1
}]
В желаемом выводе я буду знать, какие записи из исходные полезные данные были успешно удалены, а какие не удалось удалить.
Можно ли сделать что-то подобное при использовании группового режима?