Używam Java, aby wstawić i pobieram rekordy w Dynamodb.

Kod wstawienia

                    Item item_to_insert = new Item().withPrimaryKey("LatLong", key,"location_code",key)
                        .withJSON("location_address", jsonW.toString())
                        .withString("version","1");
                PutItemOutcome outcome = table.putItem(item_to_insert);
              

Aport

                GetItemSpec i_spec = new GetItemSpec()
                        .withPrimaryKey("LatLong", key,"location_code",key)
                        .withProjectionExpression("location_address")
                        .withConsistentRead(true);

Teraz chcę pobrać rekordy, używając atrybutu LatLong, który jest elementem partycji. Jakiś pomysł, jak to zrobić?

0
stg 5 październik 2020, 09:03

1 odpowiedź

Najlepsza odpowiedź

GetTem pobiera konkretny element, który wymaga określenia kompletnego klucza podstawowego. Jeśli chcesz pobrać wszystkie przedmioty za pomocą wspólnego klawisza partycji, uważam, że metodę, której szukasz, jest metodą zapytania.

Zobacz więcej tutaj: https://docs.aws.Amazon.com/ Amondynamodb / Najnowsze / Developerguide / QueryingJavadocumentapi.html

Kodeks wyglądałby w ten sposób:

QuerySpec spec = new QuerySpec()
    .withKeyConditionExpression("Id = :v_id")
    .withValueMap(new ValueMap()
    .withString(":v_id", "Amazon DynamoDB#DynamoDB Thread 1"));
0
James Shapiro 5 październik 2020, 06:11