0
votes

Is there any specific way to migrate data from AWS DynamoDB to Azure Storage Tables? I have tried this with two approaches as below.

  1. Create an AWS pipeline and was able to download data in JSON format...but unsure how to import these in the Azure Storage Tables as mentioned here

  2. use DynamoDBtoCSV node script to export table data into CSV file and import it in Azure Storage Tables

What is the best way to migrate data from these two? Or is there any other way?

2

2 Answers

1
votes

What is the best way to migrate data from these two? Or is there any other way?

It is hard to say that what is the best way. If the record is very large,It seems that it can be done with both of your approaches.

but unsure how to import these in the Azure Storage Tables

If you could download the json file and program is possible, you could use the Azure Jave SDK to covert the json file to object and you could insert the records as you want.

use DynamoDBtoCSV node script to export table data into CSV file and import it in Azure Storage Tables

If you could get the CSV file, you could use azure storage explorer to import the CSV file to the Azure table storage.


If Azure cosmosdb table is acceptable, you also could try to use Azure Cosmos DB: Data migration tool to Import from Amazon DynamoDB

Note: as I have no AWS account, I don't test it on my side.

0
votes

I would add one additional point here that azure table storage is a tabular data store, dynamo db is more like a json document store, similar to Azure Document db or cosmos db with its new name. So I would expect it would be a more smoother migration from dynamo db to azure cosmos db vs azure table storage. If your entities stored in dynamo db are complex objects with complex properties, then there would need to be a transformation of those objects from complex to tabular form such that they could be written to azure table storage. There are azure storage api s that handle the transformation from complex objects to writable forms in azure table storage that you can leverage if this is the case like TableEntityAdapter class in the .Net SDK. Since you mentioned you would need to do some data cleanup, I thought this could be relevant.