Skip to content

Commit f511e52

Browse files
author
AWS
committed
AWS Glue Update: Support for DataLake transactions
1 parent 2518464 commit f511e52

File tree

2 files changed

+90
-7
lines changed

2 files changed

+90
-7
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"type": "feature",
3+
"category": "AWS Glue",
4+
"contributor": "",
5+
"description": "Support for DataLake transactions"
6+
}

services/glue/src/main/resources/codegen-resources/service-2.json

Lines changed: 84 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,9 @@
7373
{"shape":"InvalidInputException"},
7474
{"shape":"EntityNotFoundException"},
7575
{"shape":"InternalServiceException"},
76-
{"shape":"OperationTimeoutException"}
76+
{"shape":"OperationTimeoutException"},
77+
{"shape":"GlueEncryptionException"},
78+
{"shape":"ResourceNotReadyException"}
7779
],
7880
"documentation":"<p>Deletes multiple tables at once.</p> <note> <p>After completing this operation, you no longer have access to the table versions and partitions that belong to the deleted table. Glue deletes these \"orphaned\" resources asynchronously in a timely manner, at the discretion of the service.</p> <p>To ensure the immediate deletion of all related resources, before calling <code>BatchDeleteTable</code>, use <code>DeleteTableVersion</code> or <code>BatchDeleteTableVersion</code>, and <code>DeletePartition</code> or <code>BatchDeletePartition</code>, to delete any resources that belong to the table.</p> </note>"
7981
},
@@ -166,7 +168,8 @@
166168
{"shape":"EntityNotFoundException"},
167169
{"shape":"OperationTimeoutException"},
168170
{"shape":"InternalServiceException"},
169-
{"shape":"GlueEncryptionException"}
171+
{"shape":"GlueEncryptionException"},
172+
{"shape":"InvalidStateException"}
170173
],
171174
"documentation":"<p>Retrieves partitions in a batch request.</p>"
172175
},
@@ -526,7 +529,8 @@
526529
{"shape":"InternalServiceException"},
527530
{"shape":"OperationTimeoutException"},
528531
{"shape":"GlueEncryptionException"},
529-
{"shape":"ConcurrentModificationException"}
532+
{"shape":"ConcurrentModificationException"},
533+
{"shape":"ResourceNotReadyException"}
530534
],
531535
"documentation":"<p>Creates a new table definition in the Data Catalog.</p>"
532536
},
@@ -872,7 +876,8 @@
872876
{"shape":"InvalidInputException"},
873877
{"shape":"InternalServiceException"},
874878
{"shape":"OperationTimeoutException"},
875-
{"shape":"ConcurrentModificationException"}
879+
{"shape":"ConcurrentModificationException"},
880+
{"shape":"ResourceNotReadyException"}
876881
],
877882
"documentation":"<p>Removes a table definition from the Data Catalog.</p> <note> <p>After completing this operation, you no longer have access to the table versions and partitions that belong to the deleted table. Glue deletes these \"orphaned\" resources asynchronously in a timely manner, at the discretion of the service.</p> <p>To ensure the immediate deletion of all related resources, before calling <code>DeleteTable</code>, use <code>DeleteTableVersion</code> or <code>BatchDeleteTableVersion</code>, and <code>DeletePartition</code> or <code>BatchDeletePartition</code>, to delete any resources that belong to the table.</p> </note>"
878883
},
@@ -1437,7 +1442,9 @@
14371442
{"shape":"InvalidInputException"},
14381443
{"shape":"OperationTimeoutException"},
14391444
{"shape":"InternalServiceException"},
1440-
{"shape":"GlueEncryptionException"}
1445+
{"shape":"GlueEncryptionException"},
1446+
{"shape":"InvalidStateException"},
1447+
{"shape":"ResourceNotReadyException"}
14411448
],
14421449
"documentation":"<p>Retrieves information about the partitions in a table.</p>"
14431450
},
@@ -1613,7 +1620,8 @@
16131620
{"shape":"InvalidInputException"},
16141621
{"shape":"InternalServiceException"},
16151622
{"shape":"OperationTimeoutException"},
1616-
{"shape":"GlueEncryptionException"}
1623+
{"shape":"GlueEncryptionException"},
1624+
{"shape":"ResourceNotReadyException"}
16171625
],
16181626
"documentation":"<p>Retrieves the <code>Table</code> definition in a Data Catalog for a specified table.</p>"
16191627
},
@@ -2671,7 +2679,8 @@
26712679
{"shape":"OperationTimeoutException"},
26722680
{"shape":"ConcurrentModificationException"},
26732681
{"shape":"ResourceNumberLimitExceededException"},
2674-
{"shape":"GlueEncryptionException"}
2682+
{"shape":"GlueEncryptionException"},
2683+
{"shape":"ResourceNotReadyException"}
26752684
],
26762685
"documentation":"<p>Updates a metadata table in the Data Catalog.</p>"
26772686
},
@@ -2949,6 +2958,10 @@
29492958
"TablesToDelete":{
29502959
"shape":"BatchDeleteTableNameList",
29512960
"documentation":"<p>A list of the table to delete.</p>"
2961+
},
2962+
"TransactionId":{
2963+
"shape":"TransactionIdString",
2964+
"documentation":"<p>The transaction ID at which to delete the table contents.</p>"
29522965
}
29532966
}
29542967
},
@@ -5447,6 +5460,10 @@
54475460
"PartitionIndexes":{
54485461
"shape":"PartitionIndexList",
54495462
"documentation":"<p>A list of partition indexes, <code>PartitionIndex</code> structures, to create in the table.</p>"
5463+
},
5464+
"TransactionId":{
5465+
"shape":"TransactionIdString",
5466+
"documentation":"<p>The ID of the transaction.</p>"
54505467
}
54515468
}
54525469
},
@@ -6293,6 +6310,10 @@
62936310
"Name":{
62946311
"shape":"NameString",
62956312
"documentation":"<p>The name of the table to be deleted. For Hive compatibility, this name is entirely lowercase.</p>"
6313+
},
6314+
"TransactionId":{
6315+
"shape":"TransactionIdString",
6316+
"documentation":"<p>The transaction ID at which to delete the table contents.</p>"
62966317
}
62976318
}
62986319
},
@@ -7883,6 +7904,14 @@
78837904
"ExcludeColumnSchema":{
78847905
"shape":"BooleanNullable",
78857906
"documentation":"<p>When true, specifies not returning the partition column schema. Useful when you are interested only in other partition attributes such as partition values or location. This approach avoids the problem of a large response by not returning duplicate data.</p>"
7907+
},
7908+
"TransactionId":{
7909+
"shape":"TransactionIdString",
7910+
"documentation":"<p>The transaction ID at which to read the partition contents.</p>"
7911+
},
7912+
"QueryAsOfTime":{
7913+
"shape":"Timestamp",
7914+
"documentation":"<p>The time as of when to read the partition contents. If not set, the most recent transaction commit time will be used. Cannot be specified along with <code>TransactionId</code>.</p>"
78867915
}
78877916
}
78887917
},
@@ -8302,6 +8331,14 @@
83028331
"Name":{
83038332
"shape":"NameString",
83048333
"documentation":"<p>The name of the table for which to retrieve the definition. For Hive compatibility, this name is entirely lowercase.</p>"
8334+
},
8335+
"TransactionId":{
8336+
"shape":"TransactionIdString",
8337+
"documentation":"<p>The transaction ID at which to read the table contents. </p>"
8338+
},
8339+
"QueryAsOfTime":{
8340+
"shape":"Timestamp",
8341+
"documentation":"<p>The time as of when to read the table contents. If not set, the most recent transaction commit time will be used. Cannot be specified along with <code>TransactionId</code>.</p>"
83058342
}
83068343
}
83078344
},
@@ -8417,6 +8454,14 @@
84178454
"MaxResults":{
84188455
"shape":"CatalogGetterPageSize",
84198456
"documentation":"<p>The maximum number of tables to return in a single response.</p>"
8457+
},
8458+
"TransactionId":{
8459+
"shape":"TransactionIdString",
8460+
"documentation":"<p>The transaction ID at which to read the table contents.</p>"
8461+
},
8462+
"QueryAsOfTime":{
8463+
"shape":"Timestamp",
8464+
"documentation":"<p>The time as of when to read the table contents. If not set, the most recent transaction commit time will be used. Cannot be specified along with <code>TransactionId</code>.</p>"
84208465
}
84218466
}
84228467
},
@@ -8905,6 +8950,17 @@
89058950
"documentation":"<p>The input provided was not valid.</p>",
89068951
"exception":true
89078952
},
8953+
"InvalidStateException":{
8954+
"type":"structure",
8955+
"members":{
8956+
"Message":{
8957+
"shape":"MessageString",
8958+
"documentation":"<p>A message describing the problem.</p>"
8959+
}
8960+
},
8961+
"documentation":"<p>An error that indicates your data is in an invalid state.</p>",
8962+
"exception":true
8963+
},
89088964
"IsVersionValid":{"type":"boolean"},
89098965
"JdbcTarget":{
89108966
"type":"structure",
@@ -10984,6 +11040,17 @@
1098411040
}
1098511041
}
1098611042
},
11043+
"ResourceNotReadyException":{
11044+
"type":"structure",
11045+
"members":{
11046+
"Message":{
11047+
"shape":"MessageString",
11048+
"documentation":"<p>A message describing the problem.</p>"
11049+
}
11050+
},
11051+
"documentation":"<p>A resource was not ready for a transaction.</p>",
11052+
"exception":true
11053+
},
1098711054
"ResourceNumberLimitExceededException":{
1098811055
"type":"structure",
1098911056
"members":{
@@ -12441,6 +12508,12 @@
1244112508
"max":10,
1244212509
"min":1
1244312510
},
12511+
"TransactionIdString":{
12512+
"type":"string",
12513+
"max":255,
12514+
"min":1,
12515+
"pattern":"[\\p{L}\\p{N}\\p{P}]*"
12516+
},
1244412517
"TransformEncryption":{
1244512518
"type":"structure",
1244612519
"members":{
@@ -13321,6 +13394,10 @@
1332113394
"SkipArchive":{
1332213395
"shape":"BooleanNullable",
1332313396
"documentation":"<p>By default, <code>UpdateTable</code> always creates an archived version of the table before updating it. However, if <code>skipArchive</code> is set to true, <code>UpdateTable</code> does not create the archived version.</p>"
13397+
},
13398+
"TransactionId":{
13399+
"shape":"TransactionIdString",
13400+
"documentation":"<p>The transaction ID at which to update the table contents. </p>"
1332413401
}
1332513402
}
1332613403
},

0 commit comments

Comments
 (0)