|
40 | 40 | import com.amazonaws.services.dynamodbv2.local.embedded.DynamoDBEmbedded;
|
41 | 41 | import com.amazonaws.services.dynamodbv2.AmazonDynamoDB;
|
42 | 42 | import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapperConfig.SaveBehavior;
|
| 43 | +import com.amazonaws.services.dynamodbv2.datamodeling.encryption.DynamoDBEncryptor; |
43 | 44 | import com.amazonaws.services.dynamodbv2.datamodeling.encryption.providers.AsymmetricStaticProvider;
|
44 | 45 | import com.amazonaws.services.dynamodbv2.datamodeling.encryption.providers.EncryptionMaterialsProvider;
|
| 46 | +import com.amazonaws.services.dynamodbv2.datamodeling.encryption.providers.MostRecentProvider; |
45 | 47 | import com.amazonaws.services.dynamodbv2.datamodeling.encryption.providers.SymmetricStaticProvider;
|
46 | 48 | import com.amazonaws.services.dynamodbv2.datamodeling.encryption.providers.WrappedMaterialsProvider;
|
| 49 | +import com.amazonaws.services.dynamodbv2.datamodeling.encryption.providers.store.MetaStore; |
47 | 50 | import com.amazonaws.services.dynamodbv2.datamodeling.internal.AttributeValueMarshaller;
|
48 | 51 | import com.amazonaws.services.dynamodbv2.model.AttributeAction;
|
49 | 52 | import com.amazonaws.services.dynamodbv2.model.AttributeDefinition;
|
@@ -122,6 +125,8 @@ public class TransformerHolisticTests {
|
122 | 125 | private static final SignOnly SIGNED_TEST_VALUE_2 = new SignOnly();
|
123 | 126 | private static final Untouched UNTOUCHED_TEST_VALUE_2 = new Untouched();
|
124 | 127 |
|
| 128 | + private EncryptionMaterialsProvider mrProv; |
| 129 | + |
125 | 130 | static {
|
126 | 131 | try {
|
127 | 132 | KeyFactory rsaFact = KeyFactory.getInstance("RSA");
|
@@ -266,19 +271,23 @@ public void setUp() {
|
266 | 271 | .withAttributeDefinitions(attrDef)
|
267 | 272 | .withKeySchema(keySchema)
|
268 | 273 | .withProvisionedThroughput(new ProvisionedThroughput(100L, 100L)));
|
269 |
| - |
| 274 | + |
270 | 275 | attrDef = new ArrayList<AttributeDefinition>();
|
271 | 276 | attrDef.add(new AttributeDefinition().withAttributeName("hashKey").withAttributeType(ScalarAttributeType.B));
|
272 | 277 | attrDef.add(new AttributeDefinition().withAttributeName("rangeKey").withAttributeType(ScalarAttributeType.N));
|
273 | 278 |
|
274 | 279 | keySchema = new ArrayList<KeySchemaElement>();
|
275 | 280 | keySchema.add(new KeySchemaElement().withAttributeName("hashKey").withKeyType(KeyType.HASH));
|
276 | 281 | keySchema.add(new KeySchemaElement().withAttributeName("rangeKey").withKeyType(KeyType.RANGE));
|
277 |
| - |
| 282 | + |
278 | 283 | client.createTable(new CreateTableRequest().withTableName("DeterministicTable")
|
279 | 284 | .withAttributeDefinitions(attrDef)
|
280 | 285 | .withKeySchema(keySchema)
|
281 | 286 | .withProvisionedThroughput(new ProvisionedThroughput(100L, 100L)));
|
| 287 | + |
| 288 | + MetaStore.createTable(client, "metastore", new ProvisionedThroughput(100L, 100L)); |
| 289 | + mrProv = new MostRecentProvider(new MetaStore(client, "metastore", DynamoDBEncryptor.getInstance(symProv)), "materialName", 1000); |
| 290 | + |
282 | 291 | }
|
283 | 292 |
|
284 | 293 | @Test
|
@@ -433,6 +442,11 @@ public void generateStandardSymWrappedData() {
|
433 | 442 | generateStandardData(symWrappedProv);
|
434 | 443 | }
|
435 | 444 |
|
| 445 | +// @Test |
| 446 | + public void generateStandardMetastoreData() { |
| 447 | + generateStandardData(mrProv); |
| 448 | + } |
| 449 | + |
436 | 450 | public void generateStandardData(EncryptionMaterialsProvider prov) {
|
437 | 451 | DynamoDBMapper mapper = new DynamoDBMapper(client,
|
438 | 452 | new DynamoDBMapperConfig(SaveBehavior.CLOBBER), new AttributeEncryptor(prov));
|
@@ -519,6 +533,14 @@ public void testV0FixedDoubleAsymCompatibility() {
|
519 | 533 | assertVersionCompatibility_2(mapper);
|
520 | 534 | }
|
521 | 535 |
|
| 536 | + @Test |
| 537 | + public void testV0MetastoreCompatibility() { |
| 538 | + DynamoDBMapper mapper = new DynamoDBMapper(client, |
| 539 | + new DynamoDBMapperConfig(SaveBehavior.CLOBBER), new AttributeEncryptor(mrProv)); |
| 540 | + insertV0MetastoreData(client); |
| 541 | + assertVersionCompatibility_2(mapper); |
| 542 | + } |
| 543 | + |
522 | 544 | private void assertVersionCompatibility(DynamoDBMapper mapper) {
|
523 | 545 | assertEquals(UNTOUCHED_TEST_VALUE, mapper.load(
|
524 | 546 | UNTOUCHED_TEST_VALUE.getClass(),
|
@@ -1783,6 +1805,162 @@ private void insertV0FixedWrappingTransformSymWrappedData(final AmazonDynamoDB d
|
1783 | 1805 | ddb.putItem(new PutItemRequest("TableName", item));
|
1784 | 1806 | item.clear();
|
1785 | 1807 | }
|
| 1808 | + |
| 1809 | + private void insertV0MetastoreData(AmazonDynamoDB ddb) { |
| 1810 | + Map<String, AttributeValue> item = new HashMap<>(); |
| 1811 | + |
| 1812 | + item.put("hashKey", b642Av("AHMAAAADQmFy")); |
| 1813 | + item.put("*amzn-ddb-map-desc*", b642Av("AGIAAADjAAAAAAAAABBhbXpuLWRkYi1lbnYta2V5AAAAOGR5Y1YrQW42bUVFVzJLK3RjVE1EQWw2MUNRSzNPZ2hpQ2Z2YTBYeGFVaU9odWJnRDhMelFwdz09AAAAEGFtem4tZGRiLWVudi1hbGcAAAADQUVTAAAAEGFtem4tZGRiLW1ldGEtaWQAAAAObWF0ZXJpYWxOYW1lIzAAAAARYW16bi1kZGItd3JhcC1hbGcAAAAHQUVTV3JhcAAAABVhbXpuLWRkYi1tYXAtc3ltLW1vZGUAAAARL0NCQy9QS0NTNVBhZGRpbmc=")); |
| 1814 | + item.put("*amzn-ddb-map-sig*", b642Av("AGIAAAAgiBDp77rZmalAcIlg0htWCjJ0BcYgMdPgzJj8fie5Ai0=")); |
| 1815 | + ddb.putItem(new PutItemRequest("HashKeyOnly", item)); |
| 1816 | + item.clear(); |
| 1817 | + |
| 1818 | + item.put("hashKey", b642Av("AHMAAAADQmF6")); |
| 1819 | + item.put("*amzn-ddb-map-desc*", b642Av("AGIAAADjAAAAAAAAABBhbXpuLWRkYi1lbnYta2V5AAAAODlPZG50TUIwbHpoMUtKNHlYZXhrNXZsWVF4RUlWRDJZRWVybHlQNThXWkg1OUtxelM2MUIvdz09AAAAEGFtem4tZGRiLWVudi1hbGcAAAADQUVTAAAAEGFtem4tZGRiLW1ldGEtaWQAAAAObWF0ZXJpYWxOYW1lIzAAAAARYW16bi1kZGItd3JhcC1hbGcAAAAHQUVTV3JhcAAAABVhbXpuLWRkYi1tYXAtc3ltLW1vZGUAAAARL0NCQy9QS0NTNVBhZGRpbmc=")); |
| 1820 | + item.put("*amzn-ddb-map-sig*", b642Av("AGIAAAAgNo2a+yFlcr1phtcCGNXKfcUrfyMtPdihhh7UPWQNLog=")); |
| 1821 | + ddb.putItem(new PutItemRequest("HashKeyOnly", item)); |
| 1822 | + item.clear(); |
| 1823 | + |
| 1824 | + item.put("hashKey", b642Av("AHMAAAADRm9v")); |
| 1825 | + item.put("*amzn-ddb-map-desc*", b642Av("AGIAAADjAAAAAAAAABBhbXpuLWRkYi1lbnYta2V5AAAAOGtUMFY2bklwSHh2WTZ6bjMycHJHd0NJVFJRb1NyR3BsWGtoTlcxdUJZWnA2QVFUSURiT3dVUT09AAAAEGFtem4tZGRiLWVudi1hbGcAAAADQUVTAAAAEGFtem4tZGRiLW1ldGEtaWQAAAAObWF0ZXJpYWxOYW1lIzAAAAARYW16bi1kZGItd3JhcC1hbGcAAAAHQUVTV3JhcAAAABVhbXpuLWRkYi1tYXAtc3ltLW1vZGUAAAARL0NCQy9QS0NTNVBhZGRpbmc=")); |
| 1826 | + item.put("*amzn-ddb-map-sig*", b642Av("AGIAAAAgfy9BE3X7MyBJCQLvCN8TNUTf/zJvKEQQOdf9VhJbWdU=")); |
| 1827 | + ddb.putItem(new PutItemRequest("HashKeyOnly", item)); |
| 1828 | + item.clear(); |
| 1829 | + |
| 1830 | + item.put("rangeKey", b642Av("AG4AAAABMQ==")); |
| 1831 | + item.put("hashKey", b642Av("AG4AAAABMQ==")); |
| 1832 | + item.put("*amzn-ddb-map-desc*", b642Av("AGIAAADjAAAAAAAAABBhbXpuLWRkYi1lbnYta2V5AAAAODJLUkJKQlBxbEFEM0ZYL2RiSjhlRHFoL2NvdVZhUnJUZmpISE0rWFRtbS9xYThybHZ3Rkw1UT09AAAAEGFtem4tZGRiLWVudi1hbGcAAAADQUVTAAAAEGFtem4tZGRiLW1ldGEtaWQAAAAObWF0ZXJpYWxOYW1lIzAAAAARYW16bi1kZGItd3JhcC1hbGcAAAAHQUVTV3JhcAAAABVhbXpuLWRkYi1tYXAtc3ltLW1vZGUAAAARL0NCQy9QS0NTNVBhZGRpbmc=")); |
| 1833 | + item.put("*amzn-ddb-map-sig*", b642Av("AGIAAAAgQv9omCLGhrq2cxeP+elq4UgbloK03bV+knv8uE9P7Mw=")); |
| 1834 | + ddb.putItem(new PutItemRequest("TableName", item)); |
| 1835 | + item.clear(); |
| 1836 | + |
| 1837 | + item.put("rangeKey", b642Av("AG4AAAABMg==")); |
| 1838 | + item.put("hashKey", b642Av("AG4AAAABMQ==")); |
| 1839 | + item.put("*amzn-ddb-map-desc*", b642Av("AGIAAADjAAAAAAAAABBhbXpuLWRkYi1lbnYta2V5AAAAOHZyckFUOHhzOTJJNlpMdVFtcGs2SDR2RTJ6WlljMVRjZkNXb2VUVXdPcVN3K29Gb0JTWFlQUT09AAAAEGFtem4tZGRiLWVudi1hbGcAAAADQUVTAAAAEGFtem4tZGRiLW1ldGEtaWQAAAAObWF0ZXJpYWxOYW1lIzAAAAARYW16bi1kZGItd3JhcC1hbGcAAAAHQUVTV3JhcAAAABVhbXpuLWRkYi1tYXAtc3ltLW1vZGUAAAARL0NCQy9QS0NTNVBhZGRpbmc=")); |
| 1840 | + item.put("*amzn-ddb-map-sig*", b642Av("AGIAAAAgtgkdLHwtDS/NzFDFLQR8GQLsw4LURQMB/8yBoD4kKSI=")); |
| 1841 | + ddb.putItem(new PutItemRequest("TableName", item)); |
| 1842 | + item.clear(); |
| 1843 | + |
| 1844 | + item.put("rangeKey", b642Av("AG4AAAABMw==")); |
| 1845 | + item.put("hashKey", b642Av("AG4AAAABMQ==")); |
| 1846 | + item.put("*amzn-ddb-map-desc*", b642Av("AGIAAADjAAAAAAAAABBhbXpuLWRkYi1lbnYta2V5AAAAOENTT0dQcXZZM0d5QUJSZTB1MXVTLzR4ZGtQRlRSQlh0M3dkSGJ2bXoveUNCcEk3bGY3Qit1dz09AAAAEGFtem4tZGRiLWVudi1hbGcAAAADQUVTAAAAEGFtem4tZGRiLW1ldGEtaWQAAAAObWF0ZXJpYWxOYW1lIzAAAAARYW16bi1kZGItd3JhcC1hbGcAAAAHQUVTV3JhcAAAABVhbXpuLWRkYi1tYXAtc3ltLW1vZGUAAAARL0NCQy9QS0NTNVBhZGRpbmc=")); |
| 1847 | + item.put("*amzn-ddb-map-sig*", b642Av("AGIAAAAgUPLAdN9KAJNJRZzAtfpaloOYNa+gCVXg1diT6CGSqrU=")); |
| 1848 | + ddb.putItem(new PutItemRequest("TableName", item)); |
| 1849 | + item.clear(); |
| 1850 | + |
| 1851 | + item.put("rangeKey", b642Av("AG4AAAABMQ==")); |
| 1852 | + item.put("hashKey", b642Av("AG4AAAABNQ==")); |
| 1853 | + item.put("*amzn-ddb-map-desc*", b642Av("AGIAAADjAAAAAAAAABBhbXpuLWRkYi1lbnYta2V5AAAAOG1WcldlSy9CYkxsSDlnY0Zvb1Fjb0I4V082anlSa0hRT2NqN0NaZjFzMUk0RWRuV0NGai9CQT09AAAAEGFtem4tZGRiLWVudi1hbGcAAAADQUVTAAAAEGFtem4tZGRiLW1ldGEtaWQAAAAObWF0ZXJpYWxOYW1lIzAAAAARYW16bi1kZGItd3JhcC1hbGcAAAAHQUVTV3JhcAAAABVhbXpuLWRkYi1tYXAtc3ltLW1vZGUAAAARL0NCQy9QS0NTNVBhZGRpbmc=")); |
| 1854 | + item.put("*amzn-ddb-map-sig*", b642Av("AGIAAAAgDY8cXYd+66/OeHT+dOOh4FnJgwD4mMj/0EOZZdlrDGU=")); |
| 1855 | + ddb.putItem(new PutItemRequest("TableName", item)); |
| 1856 | + item.clear(); |
| 1857 | + |
| 1858 | + item.put("rangeKey", b642Av("AG4AAAABNw==")); |
| 1859 | + item.put("stringValue", b642Av("AGIAAAAwjmiBDtOhOzwPbKbPx15zZ+HeW0ElgRnRiGykEvmvpFux0U/LJQFRQ9KncAWd4nJM")); |
| 1860 | + item.put("hashKey", b642Av("AG4AAAABNQ==")); |
| 1861 | + item.put("*amzn-ddb-map-desc*", b642Av("AGIAAADjAAAAAAAAABBhbXpuLWRkYi1lbnYta2V5AAAAOGNaYlhrb0ZDLzZjVzlpNWNBanViTHdZaW1vNE9SdlUxQjZOSWRpRHovc1BsMUQwU1F2ajhWQT09AAAAEGFtem4tZGRiLWVudi1hbGcAAAADQUVTAAAAEGFtem4tZGRiLW1ldGEtaWQAAAAObWF0ZXJpYWxOYW1lIzAAAAARYW16bi1kZGItd3JhcC1hbGcAAAAHQUVTV3JhcAAAABVhbXpuLWRkYi1tYXAtc3ltLW1vZGUAAAARL0NCQy9QS0NTNVBhZGRpbmc=")); |
| 1862 | + item.put("doubleSet", b642Av("AGIAAABAS4kDtlVOu6tLMGoBhqD8oDGY8WnnUnZ6gN2E0TLmTn6+rJeFBQ3R0NfJtsXtx8pKKOZRG7z5nkJqVCXWA0YEtg==")); |
| 1863 | + item.put("intSet", b642Av("AGIAAABAuU3x6fQO9kF37qXb+KdB50EvDsAQSr7JEkKFo76XSF3q1jRNuXTvNL1MmCagMicOn8hGXWf3uXr3l/jeMXXTxw==")); |
| 1864 | + item.put("byteArrayValue", b642Av("AGIAAAAg1v7mQNUIJrvRrBqSBP8Ges17M8ylNfERqjAhpBtmtEg=")); |
| 1865 | + item.put("stringSet", b642Av("AGIAAABAMSooPgKThBmQfGl+MZ0PcPhwCWpykLn5VIYK8y17sa7S9HPC+ZZaXSZWAeEIe9tCsazs/GhYPNAk+J9+Ehr83A==")); |
| 1866 | + item.put("intValue", b642Av("AGIAAAAgFLAPKKtgQS0xyDmVtg8TM8NsK5Zt7HSPorfyxIzw920=")); |
| 1867 | + item.put("doubleValue", b642Av("AGIAAAAgIKFrRJV/QQ6bN880QRBKXR/K84kwc5O8cAFduodO5dU=")); |
| 1868 | + item.put("version", b642Av("AG4AAAABMQ==")); |
| 1869 | + item.put("*amzn-ddb-map-sig*", b642Av("AGIAAAAgzZEKidI2XCh5bvadadW99btbRcOVSuavthxLMEIN86c=")); |
| 1870 | + ddb.putItem(new PutItemRequest("TableName", item)); |
| 1871 | + item.clear(); |
| 1872 | + |
| 1873 | + item.put("rangeKey", b642Av("AG4AAAACMTA=")); |
| 1874 | + item.put("stringValue", b642Av("AHMAAAAMSGVsbG8gd29ybGQh")); |
| 1875 | + item.put("hashKey", b642Av("AG4AAAABOA==")); |
| 1876 | + item.put("*amzn-ddb-map-desc*", b642Av("AGIAAADjAAAAAAAAABBhbXpuLWRkYi1lbnYta2V5AAAAODlqNDlhRG51M1hBNVE0M0xxMDMvaTF3eUIzbHdSbng4eDNEK29JamM3Qlpxbno5VmhoRHc2Zz09AAAAEGFtem4tZGRiLWVudi1hbGcAAAADQUVTAAAAEGFtem4tZGRiLW1ldGEtaWQAAAAObWF0ZXJpYWxOYW1lIzAAAAARYW16bi1kZGItd3JhcC1hbGcAAAAHQUVTV3JhcAAAABVhbXpuLWRkYi1tYXAtc3ltLW1vZGUAAAARL0NCQy9QS0NTNVBhZGRpbmc=")); |
| 1877 | + item.put("doubleSet", b642Av("AE4AAAAFAAAAAi0zAAAABS0zNC4yAAAAATAAAAACMTUAAAADNy42")); |
| 1878 | + item.put("intSet", b642Av("AE4AAAAFAAAAATAAAAABMQAAAAIxMAAAAAIxNQAAAAMyMDA=")); |
| 1879 | + item.put("byteArrayValue", b642Av("AGIAAAAGAAECAwQF")); |
| 1880 | + item.put("stringSet", b642Av("AFMAAAAEAAAAAT8AAAAFQ3J1ZWwAAAAHR29vZGJ5ZQAAAAVXb3JsZA==")); |
| 1881 | + item.put("intValue", b642Av("AG4AAAADMTIz")); |
| 1882 | + item.put("doubleValue", b642Av("AG4AAAACMTU=")); |
| 1883 | + item.put("version", b642Av("AG4AAAABMQ==")); |
| 1884 | + item.put("*amzn-ddb-map-sig*", b642Av("AGIAAAAgTUBX7q3xvSd+K/nMBdipsX+6nTyt+htT/qJUK5sPos0=")); |
| 1885 | + ddb.putItem(new PutItemRequest("TableName", item)); |
| 1886 | + item.clear(); |
| 1887 | + |
| 1888 | + item.put("rangeKey", b642Av("AG4AAAABMw==")); |
| 1889 | + item.put("hashKey", b642Av("AG4AAAABNw==")); |
| 1890 | + item.put("*amzn-ddb-map-desc*", b642Av("AGIAAADjAAAAAAAAABBhbXpuLWRkYi1lbnYta2V5AAAAOHA3N1pGSEh5Wk5qZXErWDdHdHhsRkNzZDVqemhTSFVQVFc1V3YzU0xPaHFFdzQzUmJEdUVOUT09AAAAEGFtem4tZGRiLWVudi1hbGcAAAADQUVTAAAAEGFtem4tZGRiLW1ldGEtaWQAAAAObWF0ZXJpYWxOYW1lIzAAAAARYW16bi1kZGItd3JhcC1hbGcAAAAHQUVTV3JhcAAAABVhbXpuLWRkYi1tYXAtc3ltLW1vZGUAAAARL0NCQy9QS0NTNVBhZGRpbmc=")); |
| 1891 | + item.put("*amzn-ddb-map-sig*", b642Av("AGIAAAAgc4AE+L/ysYL+maoJmXJkaMeJ3Chh1Ed8KQA148yZK6M=")); |
| 1892 | + ddb.putItem(new PutItemRequest("TableName", item)); |
| 1893 | + item.clear(); |
| 1894 | + |
| 1895 | + item.put("rangeKey", b642Av("AG4AAAABOQ==")); |
| 1896 | + item.put("stringValue", b642Av("AHMAAAAMSGVsbG8gd29ybGQh")); |
| 1897 | + item.put("hashKey", b642Av("AG4AAAABNw==")); |
| 1898 | + item.put("doubleSet", b642Av("AE4AAAAFAAAAAi0zAAAABS0zNC4yAAAAATAAAAACMTUAAAADNy42")); |
| 1899 | + item.put("intSet", b642Av("AE4AAAAFAAAAATAAAAABMQAAAAIxMAAAAAIxNQAAAAMyMDA=")); |
| 1900 | + item.put("byteArrayValue", b642Av("AGIAAAAGAAECAwQF")); |
| 1901 | + item.put("stringSet", b642Av("AFMAAAAEAAAAAT8AAAAFQ3J1ZWwAAAAHR29vZGJ5ZQAAAAVXb3JsZA==")); |
| 1902 | + item.put("intValue", b642Av("AG4AAAADMTIz")); |
| 1903 | + item.put("doubleValue", b642Av("AG4AAAACMTU=")); |
| 1904 | + item.put("version", b642Av("AG4AAAABMQ==")); |
| 1905 | + ddb.putItem(new PutItemRequest("TableName", item)); |
| 1906 | + item.clear(); |
| 1907 | + |
| 1908 | + item.put("rangeKey", b642Av("AG4AAAABMQ==")); |
| 1909 | + item.put("hashKey", b642Av("AG4AAAABMA==")); |
| 1910 | + item.put("*amzn-ddb-map-desc*", b642Av("AGIAAADjAAAAAAAAABBhbXpuLWRkYi1lbnYta2V5AAAAOFI3eGxEWmZCTTRoMWhaa0EreldTQ0VNV3ZCVnV2Vm03Z25wVnlmTVBRMW5hYi9KQWhiRUs3UT09AAAAEGFtem4tZGRiLWVudi1hbGcAAAADQUVTAAAAEGFtem4tZGRiLW1ldGEtaWQAAAAObWF0ZXJpYWxOYW1lIzAAAAARYW16bi1kZGItd3JhcC1hbGcAAAAHQUVTV3JhcAAAABVhbXpuLWRkYi1tYXAtc3ltLW1vZGUAAAARL0NCQy9QS0NTNVBhZGRpbmc=")); |
| 1911 | + item.put("*amzn-ddb-map-sig*", b642Av("AGIAAAAgRU3MCwYYxRFxZT7GmHBG7j+pgK14aMfEIsmrbgB8+Wk=")); |
| 1912 | + ddb.putItem(new PutItemRequest("TableName", item)); |
| 1913 | + item.clear(); |
| 1914 | + |
| 1915 | + item.put("rangeKey", b642Av("AG4AAAABMg==")); |
| 1916 | + item.put("hashKey", b642Av("AG4AAAABMA==")); |
| 1917 | + item.put("*amzn-ddb-map-desc*", b642Av("AGIAAADjAAAAAAAAABBhbXpuLWRkYi1lbnYta2V5AAAAOGkxcGFYZUtNRXlTTDFDOUdwaS9QWFVDMk15ZHdUeUxKTGQ3RXNIeWUrazJrRWlxTnBRdFZnZz09AAAAEGFtem4tZGRiLWVudi1hbGcAAAADQUVTAAAAEGFtem4tZGRiLW1ldGEtaWQAAAAObWF0ZXJpYWxOYW1lIzAAAAARYW16bi1kZGItd3JhcC1hbGcAAAAHQUVTV3JhcAAAABVhbXpuLWRkYi1tYXAtc3ltLW1vZGUAAAARL0NCQy9QS0NTNVBhZGRpbmc=")); |
| 1918 | + item.put("*amzn-ddb-map-sig*", b642Av("AGIAAAAg5gNtdXLSncuZDK3EvpFos08QRhOsOnKDVNR9jogw/Bk=")); |
| 1919 | + ddb.putItem(new PutItemRequest("TableName", item)); |
| 1920 | + item.clear(); |
| 1921 | + |
| 1922 | + item.put("rangeKey", b642Av("AG4AAAABMw==")); |
| 1923 | + item.put("hashKey", b642Av("AG4AAAABMA==")); |
| 1924 | + item.put("*amzn-ddb-map-desc*", b642Av("AGIAAADjAAAAAAAAABBhbXpuLWRkYi1lbnYta2V5AAAAOGxCdUFkQ0pYSk9yVS9JelM4TEV1RlFoWDhnVVVCMG5jZDNxZ0FUQ0xjMjVrYTE0RFRTVjNKQT09AAAAEGFtem4tZGRiLWVudi1hbGcAAAADQUVTAAAAEGFtem4tZGRiLW1ldGEtaWQAAAAObWF0ZXJpYWxOYW1lIzAAAAARYW16bi1kZGItd3JhcC1hbGcAAAAHQUVTV3JhcAAAABVhbXpuLWRkYi1tYXAtc3ltLW1vZGUAAAARL0NCQy9QS0NTNVBhZGRpbmc=")); |
| 1925 | + item.put("*amzn-ddb-map-sig*", b642Av("AGIAAAAg6zpNDAHNoQUzrP6YE6g47Y7CDom04EWXUTGuhPU7Wd8=")); |
| 1926 | + ddb.putItem(new PutItemRequest("TableName", item)); |
| 1927 | + item.clear(); |
| 1928 | + |
| 1929 | + item.put("rangeKey", b642Av("AG4AAAABMg==")); |
| 1930 | + item.put("hashKey", b642Av("AG4AAAABNg==")); |
| 1931 | + item.put("*amzn-ddb-map-desc*", b642Av("AGIAAADjAAAAAAAAABBhbXpuLWRkYi1lbnYta2V5AAAAOFdsRU5LNlNmY096R3owYTRwL2RyRHF5REo4LzJ0REJ0WTRRL0wxdUpRc1lYeldRQ2pUcExkQT09AAAAEGFtem4tZGRiLWVudi1hbGcAAAADQUVTAAAAEGFtem4tZGRiLW1ldGEtaWQAAAAObWF0ZXJpYWxOYW1lIzAAAAARYW16bi1kZGItd3JhcC1hbGcAAAAHQUVTV3JhcAAAABVhbXpuLWRkYi1tYXAtc3ltLW1vZGUAAAARL0NCQy9QS0NTNVBhZGRpbmc=")); |
| 1932 | + item.put("*amzn-ddb-map-sig*", b642Av("AGIAAAAgtvX4UthmBwymnAZ7CuTpJdLTASr1lRj1MvRwAesjtMM=")); |
| 1933 | + ddb.putItem(new PutItemRequest("TableName", item)); |
| 1934 | + item.clear(); |
| 1935 | + |
| 1936 | + item.put("rangeKey", b642Av("AG4AAAABOA==")); |
| 1937 | + item.put("stringValue", b642Av("AHMAAAAMSGVsbG8gd29ybGQh")); |
| 1938 | + item.put("hashKey", b642Av("AG4AAAABNg==")); |
| 1939 | + item.put("*amzn-ddb-map-desc*", b642Av("AGIAAADjAAAAAAAAABBhbXpuLWRkYi1lbnYta2V5AAAAOGpyLzI2c1V1NW5udlQwcmVzY0NPWEhXTHZwZzlySjNkeURSVHQxRFFMcnAvTG9STkRyNk5EQT09AAAAEGFtem4tZGRiLWVudi1hbGcAAAADQUVTAAAAEGFtem4tZGRiLW1ldGEtaWQAAAAObWF0ZXJpYWxOYW1lIzAAAAARYW16bi1kZGItd3JhcC1hbGcAAAAHQUVTV3JhcAAAABVhbXpuLWRkYi1tYXAtc3ltLW1vZGUAAAARL0NCQy9QS0NTNVBhZGRpbmc=")); |
| 1940 | + item.put("doubleSet", b642Av("AE4AAAAFAAAAAi0zAAAABS0zNC4yAAAAATAAAAACMTUAAAADNy42")); |
| 1941 | + item.put("intSet", b642Av("AGIAAABAUBGZEIoWzYKTFCsFoZYXzRUJsNuy3xr64nCwsL14lZNk62Aff5n3+ETtWm8U9E3PMOp9LozkDwZcnzs0rnYIeA==")); |
| 1942 | + item.put("byteArrayValue", b642Av("AGIAAAAgl9wQf/r6vivuTCvIz0Jeqd80xPII30sf317fED7Xrrs=")); |
| 1943 | + item.put("intValue", b642Av("AG4AAAADMTIz")); |
| 1944 | + item.put("stringSet", b642Av("AGIAAABAAijuavOYfNvcle2WbG8I2a4W1af+UPxhKguG3YMW5E6MoXsdO5ddSAifAPbVLmv92VyJnx/o817m1IOSs+LccA==")); |
| 1945 | + item.put("doubleValue", b642Av("AG4AAAACMTU=")); |
| 1946 | + item.put("version", b642Av("AG4AAAABMQ==")); |
| 1947 | + item.put("*amzn-ddb-map-sig*", b642Av("AGIAAAAgpzB3S616mcP6HQrkeaUYdV5Qo2UYWF6p04GZhSzcpV8=")); |
| 1948 | + ddb.putItem(new PutItemRequest("TableName", item)); |
| 1949 | + item.clear(); |
| 1950 | + |
| 1951 | + item.put("*amzn-ddb-map-desc*", b642Av("AGIAAAAyAAAAAAAAABVhbXpuLWRkYi1tYXAtc3ltLW1vZGUAAAARL0NCQy9QS0NTNVBhZGRpbmc=")); |
| 1952 | + item.put("t", b642Av("AGIAAAAgeJcKzY3SHwBIhXdfxeYWd9UE5yX+RxaPJQ7L2TdgDxs=")); |
| 1953 | + item.put("V", b642Av("AG4AAAABMA==")); |
| 1954 | + item.put("encAlg", b642Av("AGIAAAAgXJilRkdsIP0bqzvqutJc8AC8YhY1YApJCgTLXgAqtwU=")); |
| 1955 | + item.put("enc", b642Av("AGIAAABADvDUW2Ao1YWp7uxxEL+mv5uqHCrSNIDR18CgBD8XHCuNlBPC6GXxk9YnFmv3kgVDlMdEo0wE79zRoETB7GmjcA==")); |
| 1956 | + item.put("intAlg", b642Av("AGIAAAAwI//7G2LUrAQ2EwQGQr7ZIKyXl1AlGeB+kfvZGmCj6wShZpMKPXjyBF/9RvIz3clQ")); |
| 1957 | + item.put("N", b642Av("AHMAAAAMbWF0ZXJpYWxOYW1l")); |
| 1958 | + item.put("int", b642Av("AGIAAABAzFha4J4gPaiwhjiQs47L0bTf4WSNemVAxKJJnBnujl7OajvO7ZW3zehGJlaai4tCLxTwoLPI+Ig/a+zCdau4iw==")); |
| 1959 | + item.put("*amzn-ddb-map-sig*", b642Av("AGIAAAAgaklO+h7kSUjXEt6pBA03G4wiIU20XKT/sP+rKSeNAKc=")); |
| 1960 | + ddb.putItem(new PutItemRequest("metastore", item)); |
| 1961 | + item.clear(); |
| 1962 | + } |
| 1963 | + |
1786 | 1964 | private static AttributeValue b642Av(String b64) {
|
1787 | 1965 | return AttributeValueMarshaller.unmarshall(ByteBuffer.wrap(Base64
|
1788 | 1966 | .decode(b64)));
|
|
0 commit comments