Skip to content
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

Merged
merged 10 commits into from
Sep 2, 2021

Conversation

jinnig
Copy link
Contributor

@jinnig jinnig commented Aug 21, 2021

What

Added AWS DynamoDB as the destination.
https://aws.amazon.com/dynamodb/

Recommended reading order

  1. DynamodbDestination.java
  2. DynamodbChecker.java
  3. DynamodbConsumer.java
  4. DynamodbWriter.java
  5. DynamodbDestinationAcceptanceTest.java

Pre-merge Checklist

Expand the relevant checklist and delete the others.

New Connector

Community member or Airbyter

  • Community member? Grant edit access to maintainers (instructions)
  • Secrets in the connector's spec are annotated with airbyte_secret
  • Unit & integration tests added and passing. Community members, please provide proof of success locally e.g: screenshot or copy-paste unit, integration, and acceptance test output. To run acceptance tests for a Python connector, follow instructions in the README. For java connectors run ./gradlew :airbyte-integrations:connectors:<name>:integrationTest.
  • Code reviews completed
  • Documentation updated
    • Connector's README.md
    • docs/SUMMARY.md
    • docs/integrations/<source or destination>/<name>.md including changelog. See changelog example
    • docs/integrations/README.md
    • airbyte-integrations/builds.md
  • PR name follows PR naming conventions
  • Connector added to connector index like described here

jinnig and others added 6 commits August 20, 2021 02:26
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>
@github-actions github-actions bot added area/connectors Connector related issues area/documentation Improvements or additions to documentation labels Aug 21, 2021
jinnig and others added 3 commits August 21, 2021 00:05
Signed-off-by: Jinni Gu <jinnigu@uw.edu>
Signed-off-by: qtz123 <qiutingzhi1995@gmail.com>
@marcosmarxm
Copy link
Member

thanks for the contribution @jinnig

@marcosmarxm marcosmarxm changed the title New Destination: DynamoDB 🎉 New Destination: DynamoDB Aug 24, 2021
@marcosmarxm marcosmarxm self-requested a review August 24, 2021 22:54
@marcosmarxm marcosmarxm self-assigned this Aug 24, 2021
Copy link
Member

@marcosmarxm marcosmarxm left a 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

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()));
Copy link
Member

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?

Copy link
Contributor Author

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?

Copy link
Member

@marcosmarxm marcosmarxm left a 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!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants