File tree 3 files changed +22
-4
lines changed
airbyte-integrations/connectors/source-dynamodb
src/main/java/io/airbyte/integrations/source/dynamodb
docs/integrations/sources
3 files changed +22
-4
lines changed Original file line number Diff line number Diff line change 5
5
connectorSubtype : api
6
6
connectorType : source
7
7
definitionId : 50401137-8871-4c5a-abb7-1f5fda35545a
8
- dockerImageTag : 0.3.0
8
+ dockerImageTag : 0.3.1
9
9
dockerRepository : airbyte/source-dynamodb
10
10
documentationUrl : https://docs.airbyte.com/integrations/sources/dynamodb
11
11
githubIssueLabel : source-dynamodb
Original file line number Diff line number Diff line change 22
22
import software .amazon .awssdk .services .dynamodb .model .AttributeDefinition ;
23
23
import software .amazon .awssdk .services .dynamodb .model .AttributeValue ;
24
24
import software .amazon .awssdk .services .dynamodb .model .DescribeTableRequest ;
25
+ import software .amazon .awssdk .services .dynamodb .model .ListTablesRequest ;
26
+ import software .amazon .awssdk .services .dynamodb .model .ListTablesResponse ;
25
27
import software .amazon .awssdk .services .dynamodb .model .ScanRequest ;
26
28
27
29
public class DynamodbOperations extends AbstractDatabase implements Closeable {
@@ -56,9 +58,24 @@ private void initMappers() {
56
58
}
57
59
58
60
public List <String > listTables () {
59
- return dynamoDbClient .listTables ()
60
- // filter on table status?
61
- .tableNames ();
61
+ List <String > tableNames = new ArrayList <>();
62
+ ListTablesRequest listTablesRequest = ListTablesRequest .builder ().build ();
63
+ boolean completed = false ;
64
+
65
+ while (!completed ) {
66
+ ListTablesResponse listTablesResponse = dynamoDbClient .listTables (listTablesRequest );
67
+ tableNames .addAll (listTablesResponse .tableNames ());
68
+
69
+ if (listTablesResponse .lastEvaluatedTableName () == null ) {
70
+ completed = true ;
71
+ } else {
72
+ listTablesRequest = listTablesRequest .toBuilder ()
73
+ .exclusiveStartTableName (listTablesResponse .lastEvaluatedTableName ())
74
+ .build ();
75
+ }
76
+ }
77
+
78
+ return tableNames ;
62
79
}
63
80
64
81
public List <String > primaryKey (String tableName ) {
Original file line number Diff line number Diff line change @@ -75,6 +75,7 @@ the underlying role executing the container workload in AWS.
75
75
76
76
| Version | Date | Pull Request | Subject |
77
77
| :--------| :--------- | :-------------------------------------------------------- | :-----------------------------------------------------------------------|
78
+ | 0.3.1 | 2024-05-01 | [ 31935] ( https://github.com/airbytehq/airbyte/pull/31935 ) | Fix list more than 100 tables |
78
79
| 0.3.0 | 2024-04-24 | [ 37530] ( https://github.com/airbytehq/airbyte/pull/37530 ) | Allow role based access |
79
80
| 0.2.3 | 2024-02-13 | [ 35232] ( https://github.com/airbytehq/airbyte/pull/35232 ) | Adopt CDK 0.20.4 |
80
81
| 0.2.2 | 2024-01-24 | [ 34453] ( https://github.com/airbytehq/airbyte/pull/34453 ) | bump CDK version |
You can’t perform that action at this time.
0 commit comments