Summary
User is developing a custom destination for HubSpot with Airbyte CDK and is facing issues related to HTTP 500 errors during testing in the Airbyte UI. Seeking advice on debugging logs, validation steps, and best practices for Dockerfile configuration.
Question
Hi everyone,
I’m building a custom destination for HubSpot using the Airbyte CDK, but I’ve hit a wall and could really use some guidance.
What I’ve Done:
- Created a custom destination (
DestinationHubspot
) withcheck()
andwrite()
methods implemented in Python. It sends data to the HubSpot Contacts API. - Built a Dockerfile for the connector:
FROM python:3.9.11
WORKDIR /airbyte/integration_code
RUN apt-get update && apt-get -y upgrade && pip install --upgrade pip && pip install requests airbyte-cdk
COPY main.py ./
COPY destination_hubspot ./destination_hubspot
ENTRYPOINT [“python”, “/airbyte/integration_code/main.py”]
LABEL io.airbyte.version=“0.1.0”
LABEL io.airbyte.name=“destination-hubspot”
- Tested locally with
docker build
anddocker run
, which executes without obvious errors. - Tried adding the custom destination in the Airbyte UI, but it fails with a generic HTTP 500 error when I attempt to test or use it.
Problems:
• The logs are not providing detailed information about what’s failing. I suspect an issue in the interaction between thewrite()
method and HubSpot’s API, or perhaps a misconfiguration of the Docker image.
• When I test the connector with a valid config usingdocker run
, it seems to hang or fail silently.
Questions: - How can I get more detailed logs or debugging information from the Airbyte platform about what’s going wrong?
- Are there specific steps to validate a custom destination before adding it to the Airbyte UI?
- Does my Dockerfile or implementation look correct for an Airbyte destination?
I’d appreciate any insights or advice on debugging this further. Thank you in advance for your help!
This topic has been created from a Slack thread to give it more visibility.
It will be on Read-Only mode here. Click here if you want
to access the original thread.