Danish Raza
02/05/2023, 3:53 PMSUB_BUILD=PLATFORM ./gradlew build and then make docker up again.
This is such a productivity killer. i must be missing something. I already try to build only server ./gradlew :airbyte-server:build also tried --continuous flag so gradle keep building. But i must stop docker and start again to see it in effect. i guess i understand why docker needs to be restart so it can pick up new jar. but how to do API development in more easy/better way. Can someone please assist? I am trying to debug and create new API/methods. Thank you very much for your help in advance.Kacper Adler
02/06/2023, 1:50 PMNone where I need empty list []Ryan (Airbyte)
02/10/2023, 8:51 PMprasanth kuna
02/13/2023, 5:41 PMprasanth kuna
02/13/2023, 5:42 PMTmac Han
02/14/2023, 3:18 AMAkash Ghadge
02/14/2023, 9:01 AMBranson Buchanan
02/14/2023, 5:41 PMKayden Tang
02/15/2023, 6:24 PMMike Burns
02/15/2023, 10:07 PMairbyte-config/init/src/main/resources/seed/source_definitions.yaml as documented here. I removed all local containers and volumes and started fresh with docker compose up but my connector doesn't appear under "Settings > Sources". I tried running ./gradlew :airbyte-config:init:processResources to add it manually but it fails, presumedly because it's looking for my custom connector Docker image in a GCP-hosted repository instead of my local images (see attached image). Is this expected/configurable?
2. I was able to install via the UI, but hit another snag after setting up the source when it attempted to fetch the source schema (see second screenshot). Running Airbyte in dev mode (as I mentioned here) resolved this, but I wouldn't think it would be necessary.
Thanks!Brian Lai (Airbyte)
02/16/2023, 4:25 AMairbyte-cdk:0.29.0. This release contains a number of breaking changes that are intended to improve the overall usability of the language by reorganizing certain concepts, renaming, reducing some field duplication, and removal of fields that are seldom used. The Airbyte team has already worked to migrate all existing connectors in the Airbyte repository to support the changes to the language. However, connectors that are currently in-progress or that have not been merged as of Wednesday 2/15 will have to be adjusted to accommodate the new changes.
Here are a list of the major changes to components that might affect your manifests:
• We have renamed $options to $parameters
• We have changed the notation for referencing other components to the JSON schema notation ($ref: "#/definitions/requester")
• We have deprecated the SimpleRetriever’s stream_slicer in favor of two individual concepts.
• Stream’s will define an incremental_sync field which is responsible for defining how we would support incremental syncs using a cursor field. DatetimeStreamSlicer has been renamed to DatetimeBasedCursor and can be used for this field.
• Retriever’s will now define a partition_router field. We have renamed the remaining slicers to be called SubstreamPartitionRouter and ListPartitionRouter, both of which can be used here as they already have been.
• We’ve deprecated the CartesianProductStreamSlicer because partition_router can accept a list of values and will generate that same cartesian product
• DefaultPaginator no longer has a url_base field. Moving forward, paginators will derive the url_base from the HttpRequester. There are some unique cases for connectors that implement a custom Retriever, which I can go into more detail if necessary.
• primary_key and name no longer need to be defined on Retrievers or Requesters. They will be derived from the stream’s definition
• Stream’s no longer define a stream_cursor_field and will derive it from the incremental_sync. checkpoint_interval has also been deprecated
• DpathExtractor field_pointer has been renamed field_path
• We no longer allow for using RequestOption with inject_into set to path. We now have a dedicated RequestPath component moving forward.
In addition, a change was released a couple of weeks ago where we are now validating manifests against the declarative_component_schema.yaml which is a handwritten schema maintained by our team. You can use that file as a reference document as you write or update manifests.
Thank you being contributors and early access users of the low-code framework and please feel free to reach out to the Airbyte team if you run into issues migrating your in flight connectors and we will try to help ease the process or point you towards sample connectors for your use case.Alexander Schmidt
02/16/2023, 4:57 PMHenri Blancke
02/21/2023, 3:36 PMv0.40.32 we noticed that all keys in the airbyte record data passed to our destination now comes in as strings. For example for zendesk_support schedules, pre v0.40.32 we see schedules come from record.data as (notice that id, start and end time are all ints):
{'id': 1260800006989, 'name': 'M-F 9-5pm PT', 'time_zone': 'US', 'created_at': '2021-04-22T00:32:27Z', 'updated_at': '2022-12-31T01:06:17Z', 'intervals': [{'start_time': 1800, 'end_time': 2460}, {'start_time': 3240, 'end_time': 3900}, ...]}
now they come in as strings:
{'id': '1260800006989', 'name': 'M-F 9-5pm PT', 'time_zone': 'US', 'created_at': '2021-04-22T00:32:27Z', 'updated_at': '2022-12-31T01:06:17Z', 'intervals': [{'start_time': '1800', 'end_time': '2460'}, {'start_time': '3240', 'end_time': '3900'}, ...]}
It is causing issues in our destination. Is that the expected behavior now? Thanks for the help 🙏Mark Nuttall-Smith
02/23/2023, 8:46 AMwrite_discover_catalog_result endpoint requires a configurationHash that I don't know how to create. (The docs for `write_discover_catalog_result` also say "Should only called from worker", so I assume I'm doing something wrong).
Can anybody give me some pointers how to either generate the source config hash, or if there is a better way to update the source definition?
(ps. I know this is not strictly a CDK question, and more about the usage of the API, but I hoped I might get a better answer from this channel 🙏)Josh Jeffries
02/24/2023, 3:12 PMJosh Jeffries
02/26/2023, 5:56 PM{
"url": "<https://api.jobadder.com/v2/users>",
"parameters": {
"updatedAt": [
">2000-01-05T00:00:00Z"
],
"include": [
"inactive, deleted"
]
},
"body": null,
"headers": {
"User-Agent": "python-requests/2.28.2",
"Accept-Encoding": "gzip, deflate",
"Accept": "*/*",
"Connection": "keep-alive",
"Authorization": "Bearer 86f6f5d182afa48305d9ea85a439d1b9"
},
"http_method": "GET"
}
the updatedAt and the include are specified request parameters, on the next page the request looks like
{
"url": "<https://eu2api.jobadder.com/v2/users>",
"parameters": {
"updatedAt": [
">2000-01-05T00:00:00Z",
">2000-01-05T00:00:00Z"
],
"include": [
"Inactive",
"Deleted",
"inactive, deleted"
],
"offset": [
"100"
]
},
"body": null,
"headers": {
"User-Agent": "python-requests/2.28.2",
"Accept-Encoding": "gzip, deflate",
"Accept": "*/*",
"Connection": "keep-alive",
"Authorization": "Bearer 86f6f5d182afa48305d9ea85a439d1b9"
},
"http_method": "GET"
}
and again on the next one its
{
"url": "<https://eu2api.jobadder.com/v2/users>",
"parameters": {
"updatedAt": [
">2000-01-05T00:00:00Z",
">2000-01-05T00:00:00Z",
">2000-01-05T00:00:00Z"
],
"include": [
"Inactive",
"Deleted",
"Inactive",
"Deleted",
"inactive, deleted"
],
"offset": [
"200"
]
},
"body": null,
"headers": {
"User-Agent": "python-requests/2.28.2",
"Accept-Encoding": "gzip, deflate",
"Accept": "*/*",
"Connection": "keep-alive",
"Authorization": "Bearer 86f6f5d182afa48305d9ea85a439d1b9"
},
"http_method": "GET"
}
also related it doesn't seem to be passing through the page_size eitherMassy Bourennani
02/28/2023, 3:07 PMairbyte_emitted_at set for every record ?Alex Stenlake
03/01/2023, 5:07 AMKirsten Hipolito
03/01/2023, 9:23 AMM. Farahmand
03/02/2023, 7:31 AMBruno Milagre
03/02/2023, 10:07 AMBart Veenstra
03/02/2023, 1:20 PMgradle test , but that option is not ideal, as I don’t wish to escape my IDE 😄Bart Veenstra
03/02/2023, 1:20 PMBart Veenstra
03/03/2023, 12:48 PMBruno Milagre
03/03/2023, 1:30 PMEmma Forman Ling
03/06/2023, 6:54 PMAdham Suliman
03/07/2023, 7:43 PMrequest_body_data . This is great for a full refresh, but again, I’d like to build an incremental build. Does anyone know of a dynamic way to insert data into response_body_data?
In the image attached, I show the configuration that works. I’ve attempted to execute the line before last (commented out) which has a dynamic variable, but I can’t get the timestamp to render. Instead, I see no data passed on to the request whereas I can see the entire query when using line 81.Tony Xiao
03/08/2023, 12:14 PMDanish Raza
03/08/2023, 6:42 PM