Comments (5)
Hi @mike-luabase ,
In the end, I have opted to use a custom catalog because stream maps have limitations with nested fields:
https://sdk.meltano.com/en/latest/stream_maps.html#no-nested-property-declarations-or-removals
I've added a modified tap-shopify.catalog.json file under the extract folder and set it up in the plugin configuration.
plugins:
extractors:
- name: tap-shopify
variant: matatika
catalog: extract/tap-shopify.catalog.json
pip_url: git+https://github.com/Matatika/tap-shopify.git
config:
store: ....
start_date: ...
is_plus_account: false
from tap-shopify.
Thank you for your quick response.
I appreciate your suggestions and will try using a custom catalog and stream maps to handle this issue.
Looking forward to the permanent fix
Thanks again
from tap-shopify.
Hi @farzeni, thanks for raising this. We've had a couple of reports of null data in fields causing the tap to break (e.g. #7). We've been thinking about doing a refactor to map all fields as nullable by default (excluding primary keys), but for now you may be able to work around it by passing the tap a custom catalog or using stream maps to coalesce None
to an empty string (''
).
We'll keep this issue open until we have a fix, so you should see updates here when we create a PR to address all these.
from tap-shopify.
@farzeni @ReubenFrankel did you end up fixing this with a stream map? It wasn't clear to me how to map nested field. I was trying:
plugins:
extractors:
- name: tap-shopify
variant: matatika
pip_url: git+https://github.com/Matatika/tap-shopify.git
config:
stream_maps:
abandoned_checkouts:
phone: __NULL__
but getting:
jsonschema.exceptions.ValidationError: None is not of type 'string' cmd_type=elb consumer=True name=target-snowflake producer=False stdio=stderr string_id=target-snowflake
2023-08-24T02:16:15.463820Z [info ] cmd_type=elb consumer=True name=target-snowflake producer=False stdio=stderr string_id=target-snowflake
2023-08-24T02:16:15.463907Z [info ] Failed validating 'type' in schema['properties']['billing_address']['properties']['phone']: cmd_type=elb consumer=True name=target-snowflake producer=False stdio=stderr string_id=target-snowflake
2023-08-24T02:16:15.463999Z [info ] {'type': 'string'} cmd_type=elb consumer=True name=target-snowflake producer=False stdio=stderr string_id=target-snowflake
2023-08-24T02:16:15.464083Z [info ] cmd_type=elb consumer=True name=target-snowflake producer=False stdio=stderr string_id=target-snowflake
2023-08-24T02:16:15.464169Z [info ] On instance['billing_address']['phone']: cmd_type=elb consumer=True name=target-snowflake producer=False stdio=stderr string_id=target-snowflake
2023-08-24T02:16:15.464293Z [info ] None
from tap-shopify.
Various schema issues addressed in v0.2.0
from tap-shopify.
Related Issues (8)
- Support Python 3.11 HOT 2
- Tap needs to be update to Shopify API 2023-10 or allow configure api_version HOT 12
- Schema errors for validation on required properties. HOT 7
- Missing schema properties
- Should the transactions stream be incremental? HOT 5
- `order` schema: `jsonschema.exceptions.ValidationError: 'admin_graphql_api_id' is a required property` HOT 1
- Failing to install tap on Mac HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tap-shopify.