Hello! I'm building my first Meltano pipeline (tap...
# troubleshooting
c
Hello! I'm building my first Meltano pipeline (tap-hubspot target-bigquery). I'm using the potloc variant of tap-hubspot, and it seems as though the tap wants to access a version of hubspot's events api that isn't publicly available yet. Has anyone else had this issue or had to deal with anything similar?
r
Yeah, I ran into this problem setting up a POC a while ago. I ended up using the `spacecowboy` variant instead, which was the only other one built with the SDK that accepted an API key as config (`hotglue` variant seems to require an OAuth client configuration).
CC @Stéphane Burwash
s
Hey @claire_b., What stream are you trying to use? Some are more stable than others sadly 😅
r
I was trying with just
companies
stream selected, FWIW (this was a couple of months ago now).
Just tested this now and it doesn't seem to be a problem if I do
meltano select tap-hubspot companies
before
meltano invoke tap-hubspot
. 👍 I do get an error prior to selecting any specific streams though (all streams sync by default):
Copy code
Traceback (most recent call last):
  File "/tmp/test/.meltano/extractors/tap-hubspot/venv/bin/tap-hubspot", line 8, in <module>
    sys.exit(TapHubspot.cli())
  File "/tmp/test/.meltano/extractors/tap-hubspot/venv/lib/python3.7/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/tmp/test/.meltano/extractors/tap-hubspot/venv/lib/python3.7/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/tmp/test/.meltano/extractors/tap-hubspot/venv/lib/python3.7/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/tmp/test/.meltano/extractors/tap-hubspot/venv/lib/python3.7/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/tmp/test/.meltano/extractors/tap-hubspot/venv/lib/python3.7/site-packages/singer_sdk/tap_base.py", line 533, in cli
    tap.sync_all()
  File "/tmp/test/.meltano/extractors/tap-hubspot/venv/lib/python3.7/site-packages/singer_sdk/tap_base.py", line 423, in sync_all
    stream.sync()
  File "/tmp/test/.meltano/extractors/tap-hubspot/venv/lib/python3.7/site-packages/singer_sdk/streams/core.py", line 1187, in sync
    for _ in self._sync_records(context=context):
  File "/tmp/test/.meltano/extractors/tap-hubspot/venv/lib/python3.7/site-packages/singer_sdk/streams/core.py", line 1086, in _sync_records
    for record_result in self.get_records(current_context):
  File "/tmp/test/.meltano/extractors/tap-hubspot/venv/lib/python3.7/site-packages/singer_sdk/streams/rest.py", line 574, in get_records
    for record in self.request_records(context):
  File "/tmp/test/.meltano/extractors/tap-hubspot/venv/lib/python3.7/site-packages/singer_sdk/streams/rest.py", line 395, in request_records
    resp = decorated_request(prepared_request, context)
  File "/tmp/test/.meltano/extractors/tap-hubspot/venv/lib/python3.7/site-packages/backoff/_sync.py", line 105, in retry
    ret = target(*args, **kwargs)
  File "/tmp/test/.meltano/extractors/tap-hubspot/venv/lib/python3.7/site-packages/singer_sdk/streams/rest.py", line 274, in _request
    self.validate_response(response)
  File "/tmp/test/.meltano/extractors/tap-hubspot/venv/lib/python3.7/site-packages/singer_sdk/streams/rest.py", line 193, in validate_response
    raise FatalAPIError(msg)
singer_sdk.exceptions.FatalAPIError: 403 Client Error: Forbidden for path: /analytics/v2/views
s
That could be a deprecated stream, or you specifically don't have access. Will need to look into that 😅
Thanks @Reuben (Matatika)!
r
No problem! I know how difficult taps can be to develop and test for all kinds of users, so I am only empathetic! 😂
j
shoot, I am running into the same issue.
I will try spacecowboy any revert back
s
@jacob_matson are you trying to use this specific stream (analytics/v2/views), or are you trying to sync as much hubspot data as possible?
j
I am not using all streams, but I am running into the issue a different stream
```2023-07-03T164342.868806Z [info ] Traceback (most recent call last): cmd_type=elb consumer=False name=tap-hubspot producer=True stdio=stderr string_id=tap-hubspot 2023-07-03T164342.869016Z [info ] File "/home/matsonj/projects/simetric-dwh/.meltano/extractors/tap-hubspot/venv/bin/tap-hubspot", line 8, in <module> cmd_type=elb consumer=False name=tap-hubspot producer=True stdio=stderr string_id=tap-hubspot 2023-07-03T164342.869386Z [info ] sys.exit(TapHubspot.cli()) cmd_type=elb consumer=False name=tap-hubspot producer=True stdio=stderr string_id=tap-hubspot 2023-07-03T164342.869616Z [info ] File "/home/matsonj/projects/simetric-dwh/.meltano/extractors/tap-hubspot/venv/lib/python3.10/site-packages/click/core.py", line 1130, in call cmd_type=elb consumer=False name=tap-hubspot producer=True stdio=stderr string_id=tap-hubspot 2023-07-03T164342.870797Z [info ] return self.main(*args, **kwargs) cmd_type=elb consumer=False name=tap-hubspot producer=True stdio=stderr string_id=tap-hubspot 2023-07-03T164342.871179Z [info ] File "/home/matsonj/projects/simetric-dwh/.meltano/extractors/tap-hubspot/venv/lib/python3.10/site-packages/click/core.py", line 1055, in main cmd_type=elb consumer=False name=tap-hubspot producer=True stdio=stderr string_id=tap-hubspot 2023-07-03T164342.871547Z [info ] rv = self.invoke(ctx) cmd_type=elb consumer=False name=tap-hubspot producer=True stdio=stderr string_id=tap-hubspot 2023-07-03T164342.871772Z [info ] File "/home/matsonj/projects/simetric-dwh/.meltano/extractors/tap-hubspot/venv/lib/python3.10/site-packages/click/core.py", line 1404, in invoke cmd_type=elb consumer=False name=tap-hubspot producer=True stdio=stderr string_id=tap-hubspot 2023-07-03T164342.871940Z [info ] return ctx.invoke(self.callback, **ctx.params) cmd_type=elb consumer=False name=tap-hubspot producer=True stdio=stderr string_id=tap-hubspot 2023-07-03T164342.872083Z [info ] File "/home/matsonj/projects/simetric-dwh/.meltano/extractors/tap-hubspot/venv/lib/python3.10/site-packages/click/core.py", line 760, in invoke cmd_type=elb consumer=False name=tap-hubspot producer=True stdio=stderr string_id=tap-hubspot 2023-07-03T164342.872317Z [info ] return __callback(*args, **kwargs) cmd_type=elb consumer=False name=tap-hubspot producer=True stdio=stderr string_id=tap-hubspot 2023-07-03T164342.872483Z [info ] File "/home/matsonj/projects/simetric-dwh/.meltano/extractors/tap-hubspot/venv/lib/python3.10/site-packages/singer_sdk/tap_base.py", line 533, in cli cmd_type=elb consumer=False name=tap-hubspot producer=True stdio=stderr string_id=tap-hubspot 2023-07-03T164342.872733Z [info ] tap.sync_all() cmd_type=elb consumer=False name=tap-hubspot producer=True stdio=stderr string_id=tap-hubspot 2023-07-03T164342.872889Z [info ] File "/home/matsonj/projects/simetric-dwh/.meltano/extractors/tap-hubspot/venv/lib/python3.10/site-packages/singer_sdk/tap_base.py", line 423, in sync_all cmd_type=elb consumer=False name=tap-hubspot producer=True stdio=stderr string_id=tap-hubspot 2023-07-03T164342.873084Z [info ] stream.sync() cmd_type=elb consumer=False name=tap-hubspot producer=True stdio=stderr string_id=tap-hubspot 2023-07-03T164342.873239Z [info ] File "/home/matsonj/projects/simetric-dwh/.meltano/extractors/tap-hubspot/venv/lib/python3.10/site-packages/singer_sdk/streams/core.py", line 1187, in sync cmd_type=elb consumer=False name=tap-hubspot producer=True stdio=stderr string_id=tap-hubspot 2023-07-03T164342.873431Z [info ] for _ in self._sync_records(context=context): cmd_type=elb consumer=False name=tap-hubspot producer=True stdio=stderr string_id=tap-hubspot 2023-07-03T164342.873632Z [info ] File "/home/matsonj/projects/simetric-dwh/.meltano/extractors/tap-hubspot/venv/lib/python3.10/site-packages/singer_sdk/streams/core.py", line 1095, in _sync_reco…
s
Some streams are more battle-tested than others; if you're trying to sync deals, contacts & companies you should be fine. Going down into the events stream I'm less confident in their up-to-dateness
j
looks like
FatalAPIError: 403 Client Error: Forbidden for path: /events/v3/events/
what is interesting is the hubspot docs I see for APIs only show events v2, not v3, so i wonder if it my instance doesn't have access to it?
s
@jacob_matson I went through a phase where I added a lot of streams to make the tap as broad as possible, but did not spend enough time actually implementing them; I'll probably take some time over the quarter to rectify that. I believe the source I added was in beta at the time and has now changed (see here) I sadly don't have the bandwith to address this issue at the moment - will look into it over the quarter. I would recommend either: • Switching to another tap to see if it's properly setup there • Staying on the current tap and grabbing other streams (not the events) • Staying on the current tap and making a PR to add the new stream Let me know if any of these suit you 😄 Sorry for the inconvenience 😅
j
no problem. I am still in early stages, unclear which data i even need, so i will open an issue once my understanding is better
i appreciate the support!!
s
My pleasure! I've worked with this data a fair bit, so let me know if you need anything in particular 😄