albert_luo
08/18/2023, 8:38 PMPlugin configuration is invalid
AttributeError: 'NoneType' object has no attribute 'get'
when I run this command:
meltano config <some-name> test
with this yaml (this is an except from the extractor plugin that is erroneous):
- config:
dbname: postgres
default_replication_method: INCREMENTAL
host: valid_host
password: valid_pass
port: some_port
user: valid_user
inherit_from: valid_tap
name: <some-name>
Any tips for what might be wrong would be greatly appreciated!Reuben (Matatika)
08/18/2023, 8:59 PMmeltano --log-level debug config <some-name> test
or meltano invoke <some-name>
might give you some more context.albert_luo
08/21/2023, 4:07 PMstate = incremental.sync_table(conn_config, stream, state, desired_columns, md_map)
File "/home/ubuntu/Akkio/apps/meltano-service/integrations/meltano/.meltano/extractors/tap-postgres/venv/lib/python3.8/site-packages/tap_postgres/sync_strategies/incremental.py", line 61, in sync_table
replication_key_sql_datatype = md_map.get(('properties', replication_key)).get('sql-datatype')
AttributeError: 'NoneType' object has no attribute 'get'
Reuben (Matatika)
08/21/2023, 4:14 PMReuben (Matatika)
08/21/2023, 4:16 PMmeltano.yml
too @albert_luoalbert_luo
08/21/2023, 4:22 PMdefault_environment: staging
environments:
- name: staging
- name: production
plugins:
extractors:
- name: tap-postgres
pip_url: pipelinewise-tap-postgres
variant: transferwise
...
{excerpt from above}
...
project_id: some_id
version: n
Reuben (Matatika)
08/21/2023, 4:31 PMname
keys (unless you were purposefully obfuscating it in your original excerpt) and it's inheriting from valid_tap
, which isn't a plugin?
plugins:
extractors:
- name: tap-postgres
pip_url: pipelinewise-tap-postgres
variant: transferwise
config:
dbname: postgres
default_replication_method: INCREMENTAL
host: valid_host
password: valid_pass
port: some_port
user: valid_user
inherit_from: valid_tap
name: <some-name>
albert_luo
08/21/2023, 4:33 PMplugins:
extractors:
- name: tap-postgres
pip_url: pipelinewise-tap-postgres
variant: transferwise
- config:
dbname: postgres
default_replication_method: INCREMENTAL
host: valid_host
password: valid_pass
port: some_port
user: valid_user
inherit_from: tap-postgres
name: <some-name>
user
08/21/2023, 4:35 PM-
before the config key, so it's trying to parse an arrayalbert_luo
08/21/2023, 4:36 PMReuben (Matatika)
08/21/2023, 4:37 PMconfig
is an extractor?albert_luo
08/21/2023, 4:37 PMedgar_ramirez_mondragon
08/21/2023, 4:38 PMReuben (Matatika)
08/21/2023, 4:39 PMalbert_luo
08/21/2023, 4:39 PMedgar_ramirez_mondragon
08/21/2023, 4:40 PMalbert_luo
08/21/2023, 5:18 PM- config:
dbname: postgres
default_replication_method: INCREMENTAL
host: valid_host
password: valid_pass
port: some_port
user: valid_user
inherit_from: tap-postgres
name: <some-name>
metadata:
correct-entity-id:
replication-key: field-name
replication-method: INCREMENTAL
updated my yaml to include the metadata field, and still getting the same error when I run invoke:
File "/home/ubuntu/Akkio/apps/meltano-service/integrations/meltano/.meltano/extractors/tap-postgres/venv/lib/python3.8/site-packages/tap_postgres/sync_strategies/incremental.py", line 61, in sync_table
replication_key_sql_datatype = md_map.get(('properties', replication_key)).get('sql-datatype')
AttributeError: 'NoneType' object has no attribute 'get'
albert_luo
08/21/2023, 7:31 PMfoo | time
-----+------
1 | 1
both fields are integersedgar_ramirez_mondragon
08/21/2023, 7:34 PMmetadata
?albert_luo
08/21/2023, 7:35 PMalbert_luo
08/21/2023, 7:36 PMuser
08/21/2023, 7:36 PMalbert_luo
08/21/2023, 7:44 PMedgar_ramirez_mondragon
08/21/2023, 10:16 PM