Skip to content

Commit

Permalink
Merge branch 'main' into dependabot/maven/custom-connector-integ-test…
Browse files Browse the repository at this point in the history
…/com.fasterxml.jackson.core-jackson-databind-2.13.4.2
  • Loading branch information
DilipReddyGaddam authored Oct 16, 2023
2 parents 4d22fb9 + 9767735 commit a26fdca
Show file tree
Hide file tree
Showing 9 changed files with 54 additions and 6 deletions.
2 changes: 2 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
### Added
- Added support for `LIMIT` in the query filter expression.
- Added a JSON validator to validate that objects match the SDK format.
- Added `Url` type in the ConnectorRuntimeSettingDataType.
- Added `DataTransferType` ENUM and added supportedDataTransferTypes in DescribeConnectorConfigurationResponse

## [1.0.8] - 2022-12-21
### Added
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -335,7 +335,7 @@ destination connector by invoking the `writeData` function.
If the Lambda invocation takes more than 30 seconds, then that will result in a timeout and connector error will be surfaced to the customer.
For the use cases where the query execution might take more than 30 seconds, consider reducing the page sizes so that each page can be fetched under 30 seconds.
- For `describeConnectorConfiguration`, `validateConnectorRuntimeSettings`, `validateCredentials`, `describeEntity` and `listEntities` calls,
AppFlow expects the connectors to respond within 10 seconds. If the Lambda invocation takes more than 30 seconds then that will result in a timeout and connector error will be surfaced to the customer.
AppFlow expects the connectors to respond within 10 seconds. If the Lambda invocation takes more than 10 seconds then that will result in a timeout and connector error will be surfaced to the customer.
- Response size should not be more than 6 MB (Lambda memory limit). If the response is more than 6 MB, consider reducing the page size.
Alternatively, when Lambda errors out because of response exceeding the limit, retry the query with smaller page size. This approach could result in a timeout because of the 30 seconds overall limit.
- SDK supports only structured data where the AppFlow expects the connector has defined entities and each entity has metadata associated with it.
Expand Down
2 changes: 1 addition & 1 deletion custom-connector-example/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
<log4j.version>2.17.1</log4j.version>
<aws-lambda-java-log4j2.version>1.5.1</aws-lambda-java-log4j2.version>
<maven-shade-plugin.version>3.2.2</maven-shade-plugin.version>
<json.version>20211205</json.version>
<json.version>20230227</json.version>
<aws-secretsmanager-caching-java.version>1.0.1</aws-secretsmanager-caching-java.version>
<maven-dependency-plugin.version>3.1.2</maven-dependency-plugin.version>
<log4j2-cachefile-transformer.version>2.13.0</log4j2-cachefile-transformer.version>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ private SalesforceConnectorConfiguration() {
public static List<ConnectorRuntimeSetting> getConnectorRuntimeSettings() {
ConnectorRuntimeSetting instanceUrl = ImmutableConnectorRuntimeSetting.builder()
.key(INSTANCE_URL)
.dataType(ConnectorRuntimeSettingDataType.String)
.dataType(ConnectorRuntimeSettingDataType.Url)
.required(true)
.label("Salesforce Instance URL")
.description("URL of the instance where user wants to run the operations.")
Expand Down
2 changes: 1 addition & 1 deletion custom-connector-integ-test/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
<maven.compiler.target>8</maven.compiler.target>
<log4j.version>2.17.1</log4j.version>
<testng.version>7.7.0</testng.version>
<fasterxml.jackson.version>2.13.4.2</fasterxml.jackson.version>
<fasterxml.jackson.version>2.13.5</fasterxml.jackson.version>
<aws-cdk.version>1.89.0</aws-cdk.version>
<aws-sdk.version>1.12.261</aws-sdk.version>
<guava.version>31.0.1-jre</guava.version>
Expand Down
2 changes: 1 addition & 1 deletion custom-connector-sdk/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
<properties>
<log4j.version>2.17.1</log4j.version>
<secretsmanager.version>1.0.1</secretsmanager.version>
<json.version>20211205</json.version>
<json.version>20230227</json.version>
</properties>

<dependencies>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/*-
* #%L
* aws-custom-connector-sdk
* %%
* Copyright (C) 2021 - 2023 Amazon Web Services
* %%
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* #L%
*/
package com.amazonaws.appflow.custom.connector.model.connectorconfiguration;

/**
* Enum class representing the types of data transfers.
*/
public enum DataTransferType {
/**
* Represents data transfer in the form of records. This type is used when data transfer involves structured records.
*/
RECORD,
/**
* Represents data transfer in the form of files. This type is used when data transfer involves files or binary data.
*/
FILE
}
Original file line number Diff line number Diff line change
Expand Up @@ -132,4 +132,15 @@ default List<WriteOperationType> supportedWriteOperations() {
*/
@Nullable
ErrorDetails errorDetails();

/**
* Specifies a list of DataTransferType options the connector can support.
* Connector that support RECORD as a source is compatible with connectors that support either RECORD or FILE as destinations.
* Connector that support FILE as a source is only compatible with connectors that support FILE transfer as destinations.
*/
@Value.Default
@Nullable
default List<DataTransferType> supportedDataTransferTypes() {
return Arrays.asList(DataTransferType.RECORD);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -33,5 +33,6 @@ public enum ConnectorRuntimeSettingDataType {
DateTime,
Long,
Integer,
Boolean
Boolean,
Url
}

0 comments on commit a26fdca

Please sign in to comment.