1
0
mirror of synced 2026-01-08 12:03:02 -05:00
Files
airbyte/docs/integrations/sources/convex.md
Lee Danilek 29d74fc6fd 🎉 New Source: Convex.dev (#18403)
* convex source

* fixed unit tests

* use the smaller test instance

* fix integration tests and pagination

* fix tableName casing in api call

* fix logo

* more shapes -- thinking about moving this to an internal api

* use new /json_schemas api

* use new APIs

* remove unused start_date

* doc skeleton

* fix deletes with incremental sync

* fix test of json_schema

* fix expected records

* merge

* version and docs

* fix test

* fix docs url

* mention that you need to ask convex to enable it for your account

* docs

* two stage pagination for initial sync. some unit tests not working

* fixed all the unit tests, but we need to push backends before acceptance tests work

* fix snapshot pagination

* fix integration tests

* some checkboxes from the PR description

* Update airbyte-integrations/connectors/source-convex/source_convex/source.py

Co-authored-by: Sujay Jayakar <sujayakar314+github@gmail.com>

* Update airbyte-integrations/connectors/source-convex/source_convex/source.py

Co-authored-by: Sujay Jayakar <sujayakar314+github@gmail.com>

* stop storing the delta_has_more in state

* fix mypy

* use UTC timestamps

* rename instance_name to deployment_name

* include data format request param

* remove dev docker image

* fix unit test

* documentation

* .

* code review

* documentation and change deployment_name to deployment_url

* fix pip dependency

* regenerate the spec file

Co-authored-by: Sujay Jayakar <sujayakar314+github@gmail.com>
2022-11-08 20:53:40 -03:00

75 lines
3.2 KiB
Markdown

# Convex
This page contains the setup guide and reference information for the Convex source connector.
Get started with Convex at the [Convex website](https://convex.dev).
See your data on the [Convex dashboard](https://dashboard.convex.dev/).
## Overview
The Convex connector supports Full Refresh, Incremental Append, and Incremental Dedupe with deletes.
### Output schema
This source syncs each Convex table as a separate stream.
Check out the list of your tables on the [Convex dashboard](https://dashboard.convex.dev/) in the "Data" view.
Types not directly supported by JSON are encoded as described in the
[JSONSchema](https://json-schema.org/understanding-json-schema/reference/index.html)
for the stream.
For example, the Javascript value `new Set(["a", "b"])` is encoded as `{"$set": ["a", "b"]}`, as described by the JSONSchema
`{"type": "object", "description": "Set", "properties": {"$set": {"type": "array", "items": {"type": "string"}}}}`.
Every record includes the client-defined fields for the table, for example a `"messages"` table may contain fields for `"author"` and `"body"`.
Additionally, each document has system fields:
1. `_id` uniquely identifies the document. It is not changed by `.patch` or `.replace` operations.
2. `_creationTime` records a timestamp in milliseconds when the document was initially created. It is not changed by `.patch` or `.replace` operations.
3. `_ts` records a timestamp in nanoseconds when the document was last modified. It can be used for ordering operations in Incremental Append mode, and is automatically used in Incremental Dedupe mode.
4. `_deleted` identifies whether the document was deleted. It can be used to filter deleted documents in Incremental Append mode, and is automatically used to remove documents in Incremental Dedupe mode.
### Features
| Feature | Supported? |
| :--- | :--- |
| Full Refresh Sync | Yes |
| Incremental - Append Sync | Yes |
| Incremental - Dedupe Sync | Yes |
| Replicate Incremental Deletes | Yes |
| Change Data Capture | Yes |
| Namespaces | No |
### Performance considerations
The Convex connector syncs all documents from the historical log.
If you see performance issues due to syncing unnecessary old versions of documents,
please reach out to [Convex support](mailto:support@convex.dev).
## Getting started
### Requirements
* Convex Account
* Convex Project
* Deploy key
### Setup guide
Contact Convex via [email](mailto:support@convex.dev) or [Discord](https://convex.dev/community) to request Airbyte support for your account.
On the [Convex dashboard](https://dashboard.convex.dev/), navigate to the project that you want to sync.
Note only "Production" deployments should be synced.
In the Data tab, you should see the tables and a sample of the data that will be synced.
1. Navigate to the Settings tab.
2. Copy the "Deployment URL" from the settings page to the `deployment_url` field in Airbyte.
3. Click "Generate a deploy key".
4. Copy the generated deploy key into the `access_key` field in Airbyte.
## Changelog
| Version | Date | Pull Request | Subject |
| :--- | :--- | :--- | :--- |
| 0.1.0 | 2022-10-24 | [18403](https://github.com/airbytehq/airbyte/pull/18403) | 🎉 New Source: Convex |