ricky_renner
03/08/2021, 4:54 PMtarget-postgres | Traceback (most recent call last):
target-postgres | File "/project/.meltano/loaders/target-postgres/venv/bin/target-postgres", line 8, in <module>
target-postgres | sys.exit(main())
target-postgres | File "/project/.meltano/loaders/target-postgres/venv/lib/python3.6/site-packages/target_postgres/__init__.py", line 373, in main
target-postgres | persist_lines(config, singer_messages)
target-postgres | File "/project/.meltano/loaders/target-postgres/venv/lib/python3.6/site-packages/target_postgres/__init__.py", line 133, in persist_lines
target-postgres | primary_key_string = stream_to_sync[stream].record_primary_key_string(o['record'])
target-postgres | File "/project/.meltano/loaders/target-postgres/venv/lib/python3.6/site-packages/target_postgres/db_sync.py", line 337, in record_primary_key_string
target-postgres | flatten = flatten_record(record, self.flatten_schema, max_level=self.data_flattening_max_level)
target-postgres | File "/project/.meltano/loaders/target-postgres/venv/lib/python3.6/site-packages/target_postgres/db_sync.py", line 148, in flatten_record
target-postgres | for k, v in d.items():
target-postgres | AttributeError: 'list' object has no attribute 'items'
Have you ever seen this before? Any chance you'd be able to help me out? Thank you!douwe_maan
03/08/2021, 4:58 PMo['record']
is a list
rather than a dict
here: https://github.com/transferwise/pipelinewise-target-postgres/blob/1f4f47b64748c9c79e741bec8af605aec8fa7b20/target_postgres/__init__.py#L133
That indicates that the target received a RECORD
message from the tap with an invalid record
value. What tap are you running with?ricky_renner
03/08/2021, 4:58 PMtap-spreadsheets-anywhere
douwe_maan
03/08/2021, 4:59 PMricky_renner
03/08/2021, 5:01 PMtap-spreadsheets-anywhere (out) | {"type": "RECORD", "stream": "invoice", "record": [{"number": 133343, "ticketnum": 194979, "freight": 0.0, "stotal": 26235.24, "misc": 0.0, "total": 26235.24, "idate": "2019-01-03", "tax": 0.0, "itype": "Inv_Stock", "purchitems": 0.0, "taxamount_total": 0.0, "customernumber": 468, "_smart_source_bucket": "<gs://brook-and-whittle>", "_smart_source_file": "data-warehouse/data-extraction/connecticut/invoice/invoice.csv", "_smart_source_lineno": 89}]}
ricky_renner
03/08/2021, 5:03 PMdouwe_maan
03/08/2021, 5:03 PMrecord
needs to be a single dict, not an array of dict(s)douwe_maan
03/08/2021, 5:04 PMricky_renner
03/08/2021, 5:24 PMricky_renner
03/08/2021, 5:30 PMricky_renner
03/08/2021, 5:48 PMtap-spreadsheets-anywhere
?eric_simmerman
03/08/2021, 5:52 PMricky_renner
03/08/2021, 6:28 PMricky_renner
03/08/2021, 6:30 PMtap-spreadsheets-anywhere
is spitting out a line from the CSV as a list even though each line in the CSV file is just one record? And it must be because of some format in the CSV? It's just weird because these same CSV's were working on Friday...douwe_maan
03/08/2021, 6:36 PMricky_renner
03/08/2021, 6:37 PMdouwe_maan
03/08/2021, 6:37 PMricky_renner
03/08/2021, 6:40 PMdouwe_maan
03/08/2021, 6:41 PMdouwe_maan
03/08/2021, 6:42 PMwrite_records
(plural) rather than `write_record`: https://github.com/ets/tap-spreadsheets-anywhere/pull/7/files#diff-7f8274d0c49665bb13ac90090d3ee2b4f7218f8274ca352f18890c7d2532c32cL36douwe_maan
03/08/2021, 6:43 PMwrite_record
(singular) and drop the []
ricky_renner
03/08/2021, 7:06 PMeric_simmerman
03/08/2021, 7:45 PMeric_simmerman
03/08/2021, 8:19 PMeric_simmerman
03/08/2021, 9:25 PMricky_renner
03/08/2021, 9:28 PM