-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
🎉 New Destination: DynamoDB #5561
Conversation
Implemented getConsumer and check methods. Signed-off-by: Jinni Gu <jinnigu@uw.edu>
Signed-off-by: Yiqing Wang <yiqing@wangemail.com>
Signed-off-by: Yiqing Wang <yiqing@wangemail.com>
Signed-off-by: Jinni Gu <jinnigu@uw.edu>
Added integration tests and unit tests. Signed-off-by: qtz123 <qiutingzhi1995@gmail.com>
Signed-off-by: qtz123 <qiutingzhi1995@gmail.com>
Signed-off-by: Jinni Gu <jinnigu@uw.edu>
Signed-off-by: qtz123 <qiutingzhi1995@gmail.com>
thanks for the contribution @jinnig |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Already test locally and use with the webapp and works great! Some small comments let me know what do you think about them @jinnig
...tion-dynamodb/src/main/java/io/airbyte/integrations/destination/dynamodb/DynamodbWriter.java
Outdated
Show resolved
Hide resolved
...tion-dynamodb/src/main/java/io/airbyte/integrations/destination/dynamodb/DynamodbWriter.java
Outdated
Show resolved
Hide resolved
...db/src/main/java/io/airbyte/integrations/destination/dynamodb/DynamodbOutputTableHelper.java
Show resolved
Hide resolved
Gave the value a name batchSize. Removed unnecessary logs. Signed-off-by: Yiqing Wang <yiqing@wangemail.com>
try { | ||
PutItemOutcome outcome = table | ||
.putItem( | ||
new Item().withPrimaryKey(JavaBaseConstants.COLUMN_NAME_AB_ID, UUID.randomUUID().toString(), "sync_time", System.currentTimeMillis())); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jinnig Dynamodb is a key-value and document database. Using the primary key as a hash type means you're focusing this connector as a document database? Or a hash type PK using in key-value for Dynamodb is not a problem?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For now we are just using DynamoDB as a document DB to store JSON objects. However, we have discussed this topic with Shrif - see how to use getPrimaryKey() to get a primary key. Do you think the other issues have been resolved in the last commit?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGMT @jinnig awesome work!
What
Added AWS DynamoDB as the destination.
https://aws.amazon.com/dynamodb/
Recommended reading order
DynamodbDestination.java
DynamodbChecker.java
DynamodbConsumer.java
DynamodbWriter.java
DynamodbDestinationAcceptanceTest.java
Pre-merge Checklist
Expand the relevant checklist and delete the others.
New Connector
Community member or Airbyter
airbyte_secret
./gradlew :airbyte-integrations:connectors:<name>:integrationTest
.README.md
docs/SUMMARY.md
docs/integrations/<source or destination>/<name>.md
including changelog. See changelog exampledocs/integrations/README.md
airbyte-integrations/builds.md