请记住,这是一个悬而未决的问题,我不是在寻找特定的答案,而只是我可以采取的方法和路线。填充DynamoDb表的最佳方法
本质上,我从我的aws s3桶获取一个csv文件。我能够成功地使用它
AmazonS3 s3Client = new AmazonS3Client(new ProfileCredentialsProvider());
S3Object object = s3Client.getObject(
new GetObjectRequest(bucketName, key));
现在我想使用此JSON文件填充dynamodb表。
我很困惑,因为我在网上发现各种各样的东西。
这里是一个suggestion - 然而,这种方法只是读取文件,没有将任何内容插入到dynamodb表中。
这是另一个suggestion - 这种方法与我正在寻找的内容非常接近,它从JSON文件填充表格。
然而,我想知道是否有一种通用的方式来准备任何json文件和基于它填充dynamodb表?对于我的情况,最好的方法是什么?
因为我最初提出的问题,我做了更多的工作。
我做了什么至今
我有一个CSV文件坐在S3看起来像这样
name,position,points,assists,rebounds
Lebron James,SF,41,12,11
Kyrie Irving,PG,41,7,5
Stephen Curry,PG,29,8,4
Klay Thompson,SG,31,5,5
我能成功地把它捡起来作为s3object执行以下操作
AmazonS3 s3client = new AmazonS3Client(/**new ProfileCredentialsProvider()*/);
S3Object object = s3client.getObject(
new GetObjectRequest("lambda-function-bucket-blah-blah", "nba.json"));
InputStream objectData = object.getObjectContent();
现在我想插入到我的dynamodb表,所以我尝试以下。
AmazonDynamoDBClient dbClient = new AmazonDynamoDBClient();
dbClient.setRegion(Region.getRegion(Regions.US_BLAH_1));
DynamoDB dynamoDB = new DynamoDB(dbClient);
//DynamoDB dynamoDB = new DynamoDB(client);
Table table = dynamoDB.getTable("MyTable");
//在这之后,我尝试了很多json解析器等,并做了table.put(item)等,但没有任何工作。我将不胜感激那种帮助
你的链接是关于互补的东西,这两个似乎是你的问题需要。 没有更多的上下文,“最佳”方法很难说清楚。无论如何,我不明白为什么你不能以这两个片段作为出发点。 – MBW
@MBW我可以肯定地从文件读取在这一点上,但我不能在表中插入任何东西。 – user1010101
@MBW第二种方法的问题是使用本地文件,我有s3object,我想填充我的表。 – user1010101