From 36fb21d8013565ac3f23675a1535d5e3c11aff7e Mon Sep 17 00:00:00 2001 From: Marcos Marx Date: Wed, 17 Nov 2021 14:36:53 -0300 Subject: [PATCH] Source Amazon Seller Partner: remove datetime format from schema (#7828) * remove date-time from stream * bump connector version * update docs * improve check connection error msg * run seed file * add requirements txt doc * run format --- .../e55879a8-0ef8-4557-abcf-ab34c53ec460.json | 2 +- .../init/src/main/resources/seed/source_definitions.yaml | 2 +- .../init/src/main/resources/seed/source_specs.yaml | 2 +- .../connectors/source-amazon-seller-partner/Dockerfile | 2 +- .../source-amazon-seller-partner/requirements.txt | 2 ++ .../schemas/GET_MERCHANT_LISTINGS_ALL_DATA.json | 3 +-- .../source_amazon_seller_partner/source.py | 6 ++++-- docs/integrations/sources/amazon-seller-partner.md | 1 + 8 files changed, 12 insertions(+), 8 deletions(-) create mode 100644 airbyte-integrations/connectors/source-amazon-seller-partner/requirements.txt diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/e55879a8-0ef8-4557-abcf-ab34c53ec460.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/e55879a8-0ef8-4557-abcf-ab34c53ec460.json index 0d2fd6bd9f60e..c22fe54a2d22d 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/e55879a8-0ef8-4557-abcf-ab34c53ec460.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/e55879a8-0ef8-4557-abcf-ab34c53ec460.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "e55879a8-0ef8-4557-abcf-ab34c53ec460", "name": "Amazon Seller Partner", "dockerRepository": "airbyte/source-amazon-seller-partner", - "dockerImageTag": "0.2.2", + "dockerImageTag": "0.2.3", "documentationUrl": "https://docs.airbyte.io/integrations/sources/amazon-seller-partner" } diff --git a/airbyte-config/init/src/main/resources/seed/source_definitions.yaml b/airbyte-config/init/src/main/resources/seed/source_definitions.yaml index a00c4a386d2d7..2b09c5e2c3a9b 100644 --- a/airbyte-config/init/src/main/resources/seed/source_definitions.yaml +++ b/airbyte-config/init/src/main/resources/seed/source_definitions.yaml @@ -13,7 +13,7 @@ - name: Amazon Seller Partner sourceDefinitionId: e55879a8-0ef8-4557-abcf-ab34c53ec460 dockerRepository: airbyte/source-amazon-seller-partner - dockerImageTag: 0.2.2 + dockerImageTag: 0.2.3 sourceType: api documentationUrl: https://docs.airbyte.io/integrations/sources/amazon-seller-partner - name: Amplitude diff --git a/airbyte-config/init/src/main/resources/seed/source_specs.yaml b/airbyte-config/init/src/main/resources/seed/source_specs.yaml index c1ebfb1b70bee..bf6bf07d67cf8 100644 --- a/airbyte-config/init/src/main/resources/seed/source_specs.yaml +++ b/airbyte-config/init/src/main/resources/seed/source_specs.yaml @@ -111,7 +111,7 @@ supportsNormalization: false supportsDBT: false supported_destination_sync_modes: [] -- dockerImage: "airbyte/source-amazon-seller-partner:0.2.2" +- dockerImage: "airbyte/source-amazon-seller-partner:0.2.3" spec: documentationUrl: "https://docs.airbyte.io/integrations/sources/amazon-seller-partner" changelogUrl: "https://docs.airbyte.io/integrations/sources/amazon-seller-partner" diff --git a/airbyte-integrations/connectors/source-amazon-seller-partner/Dockerfile b/airbyte-integrations/connectors/source-amazon-seller-partner/Dockerfile index d3415a821b308..ae258125c905f 100644 --- a/airbyte-integrations/connectors/source-amazon-seller-partner/Dockerfile +++ b/airbyte-integrations/connectors/source-amazon-seller-partner/Dockerfile @@ -12,5 +12,5 @@ RUN pip install . ENV AIRBYTE_ENTRYPOINT "python /airbyte/integration_code/main.py" ENTRYPOINT ["python", "/airbyte/integration_code/main.py"] -LABEL io.airbyte.version=0.2.2 +LABEL io.airbyte.version=0.2.3 LABEL io.airbyte.name=airbyte/source-amazon-seller-partner diff --git a/airbyte-integrations/connectors/source-amazon-seller-partner/requirements.txt b/airbyte-integrations/connectors/source-amazon-seller-partner/requirements.txt new file mode 100644 index 0000000000000..78140e52009f5 --- /dev/null +++ b/airbyte-integrations/connectors/source-amazon-seller-partner/requirements.txt @@ -0,0 +1,2 @@ +-e ../../bases/source-acceptance-test +-e . \ No newline at end of file diff --git a/airbyte-integrations/connectors/source-amazon-seller-partner/source_amazon_seller_partner/schemas/GET_MERCHANT_LISTINGS_ALL_DATA.json b/airbyte-integrations/connectors/source-amazon-seller-partner/source_amazon_seller_partner/schemas/GET_MERCHANT_LISTINGS_ALL_DATA.json index b9042d69e2c37..086973b8f6bf4 100644 --- a/airbyte-integrations/connectors/source-amazon-seller-partner/source_amazon_seller_partner/schemas/GET_MERCHANT_LISTINGS_ALL_DATA.json +++ b/airbyte-integrations/connectors/source-amazon-seller-partner/source_amazon_seller_partner/schemas/GET_MERCHANT_LISTINGS_ALL_DATA.json @@ -23,8 +23,7 @@ "type": ["null", "number"] }, "open-date": { - "type": ["null", "string"], - "format": "date-time" + "type": ["null", "string"] }, "image-url": { "type": ["null", "string"] diff --git a/airbyte-integrations/connectors/source-amazon-seller-partner/source_amazon_seller_partner/source.py b/airbyte-integrations/connectors/source-amazon-seller-partner/source_amazon_seller_partner/source.py index 02421b057f84b..5702327b2c43c 100644 --- a/airbyte-integrations/connectors/source-amazon-seller-partner/source_amazon_seller_partner/source.py +++ b/airbyte-integrations/connectors/source-amazon-seller-partner/source_amazon_seller_partner/source.py @@ -5,6 +5,7 @@ from typing import Any, List, Mapping, Tuple import boto3 +import requests from airbyte_cdk.logger import AirbyteLogger from airbyte_cdk.models import ConnectorSpecification, SyncMode from airbyte_cdk.sources import AbstractSource @@ -92,8 +93,9 @@ def check_connection(self, logger: AirbyteLogger, config: Mapping[str, Any]) -> orders_stream = Orders(**stream_kwargs) next(orders_stream.read_records(sync_mode=SyncMode.full_refresh)) return True, None - except Exception as e: - return False, e + except StopIteration or requests.exceptions.RequestException as e: + if isinstance(e, StopIteration): + e = "Could not check connection without data for Orders stream. " "Please change value for replication start date field." def streams(self, config: Mapping[str, Any]) -> List[Stream]: """ diff --git a/docs/integrations/sources/amazon-seller-partner.md b/docs/integrations/sources/amazon-seller-partner.md index 8f36e86cbae87..16591a4e9f054 100644 --- a/docs/integrations/sources/amazon-seller-partner.md +++ b/docs/integrations/sources/amazon-seller-partner.md @@ -62,6 +62,7 @@ Information about rate limits you may find [here](https://github.com/amzn/sellin | Version | Date | Pull Request | Subject | | :--- | :--- | :--- | :--- | +| `0.2.3` | 2021-11-08 | [\#7828](https://github.com/airbytehq/airbyte/pull/7828) | Remove datetime format from all streams | | `0.2.2` | 2021-11-08 | [\#7752](https://github.com/airbytehq/airbyte/pull/7752) | Change `check_connection` function to use stream Orders | | `0.2.1` | 2021-09-17 | [\#5248](https://github.com/airbytehq/airbyte/pull/5248) | `Added extra stream support. Updated reports streams logics` | | `0.2.0` | 2021-08-06 | [\#4863](https://github.com/airbytehq/airbyte/pull/4863) | `Rebuild source with airbyte-cdk` |