Przykłady zapytań DynamoDB

Przyklady Zapytan Dynamodb



Baza danych to zbiór danych — DynamoDB nie jest wyjątkiem. Bazy danych zawierają wiele danych, które mogą być trudne do odzyskania bez wcześniej zdefiniowanego mechanizmu. W tym miejscu polecenie zapytania odgrywa ważną rolę.

Jak każdy system zarządzania bazą danych, DynamoDB oferuje różne metody wysyłania zapytań, za pomocą których można wchodzić w interakcje z systemem w celu uzyskiwania dostępu do danych i manipulowania nimi. Zapytania w DynamoDB to bardzo potężne narzędzie, które pozwala odzyskać element lub grupę elementów powiązanych z poleceniem zapytania.

W tym artykule opisano główne przykłady operacji zapytań DynamoDB.







Typowe przykłady zapytań DynamoDB

Domyślnym zachowaniem operacji zapytania w DynamoDB jest zwrócenie wszystkich elementów powiązanych z elementami zapytania. Co ciekawe, polecenia zapytania w DynamoDB można używać z tabelami lub indeksami dodatkowymi.



Niezależnie od przypadku zawsze upewnij się, że określono warunek równości dla wartości klucza partycji. Ponownie może być konieczne podanie innego warunku dla klucza sortowania na wypadek użycia go w poleceniu.



Inne parametry, które napotkasz podczas wysyłania zapytań do DynamoDB, to także KeyConditionExpression i FilterExpression. KeyConditionExpression określa wartości kluczy, które mają być zapytaniami. Z drugiej strony, FilterExpression usuwa elementy z wyników zapytania, zanim otrzymasz odpowiedź. Użyjesz ExpressionAttributeValues ​​jako symboli zastępczych dla wymienionych parametrów wyrażenia.





Przykłady zapytań DynamoDB obejmują:

Znalezienie pojedynczego elementu z tabeli na podstawie kluczy podstawowych

Możesz użyć narzędzia Query w DynmoDB, aby znaleźć pojedynczy element, opierając się na kombinacji klucza partycji elementu i wartości klucza sortowania. Składnia takiej operacji jest następująca:



zapytanie dynamodb aws \

--nazwa-tabeliMojaNazwaTabeli \

--wyrażenie-warunku-klucza 'PartitionKey = :pk AND SortKey = :sk' \

--wartości-atrybutów-wyrażeń '{':pk':{'S':'a123b'},'':sk':{'S':'def456b'}}'

Powyższe narzędzie zapytań ma na celu pobranie elementu z wartością klucza partycji a1234b i wartością klucza sortowania odef456b z tabeli MyTableName. Na przykład możemy użyć powyższego narzędzia, aby znaleźć pozycję w naszej tabeli „Zamówienia”. Wartość klucza partycji elementu może być wr546gg reprezentujący Customer_ID, podczas gdy jego wartość klucza sortowania może być 24536433 reprezentujący numer zamówienia.

Wynik może być następujący:

Powyższy wynik przywraca Księgi świąteczne jako jedyny element, który ma wartość klucza partycji wr546gg i wartość klucza sortowania 24536433. Przywołuje również wszystkie inne dodatkowe atrybuty powiązane z tym elementem. W naszym przykładzie przywraca numer faktury i zapłaconą kwotę.

Warto zauważyć, że polecenie query zwróci pustą listę, jeśli nie ma elementu pasującego do określonych wartości klucza podstawowego.

Odzyskać Wszystkie elementy z tabeli DynamoDB pasujące do określonych wartości atrybutów

Użyj wyrażenia filtrującego, aby pobrać wszystkie elementy, które mają podobną wartość atrybutu w określonej tabeli DynamoDB.

Polecenie dla tej operacji zapytania jest pokazane poniżej.

zapytanie dynamodb aws \

--nazwa-tabeliMojaNazwaTabeli \

--filtr-wyrażenie 'InnyAtrybut1 = :val' \

--wartości-atrybutów-wyrażeń '{':wartość':{'S':'wartość1'}}'

Na przykład możemy użyć powyższego polecenia zapytania, aby pobrać więcej utworów, które trwają ponad 5 minut w naszej tabeli Muzyka. Aby to osiągnąć, ustawimy naszą wartość OtherAttribute1 na 5,00, a MyTableName na Music.

Wynik może być taki, jak pokazano poniżej:

Konieczne jest skrócenie listy dla zwięzłości. Jednak z wyników nasze polecenie zapytania pobrało 11 elementów z wartością wyrażenia filtru równą 5,00 z naszej tabeli DynamoDB Music.

Pobieranie wszystkich przedmiotów o określonym zakresie wartości atrybutów

Poniższe polecenie jest przydatne podczas pobierania elementów z określonej tabeli:

zapytanie dynamodb aws \

--nazwa-tabeli \

--wyrażenie-warunku-klucza „nazwa_atrybutu MIĘDZY :val1 I :val2” \

--wartości-atrybutów-wyrażeń '{':val1':{'N':''},':val2':{'N':''}}'

Oczywiście będziesz musiał zastąpić wszystkie atrybuty dostosowanymi poświadczeniami, tak jak powinieneś w przypadku każdego innego wiersza poleceń. Na przykład użyjemy naszej tabeli Pracownik z atrybutem klucza zakresu ochrzczonym jako „wiek”. Będziemy dążyć do pozyskania pracodawców w wieku od 30 do 42 lat.

Nasza nowa linia poleceń będzie wyglądać następująco:

zapytanie dynamodb aws \

--table-name Użytkownicy \

--wyrażenie-warunku-klucza „wiek MIĘDZY :val1 A :val2” \

--wartości-atrybutów-wyrażeń '{':val1':{'N':'30'},':val2':{'N':'42'}}'

Uruchomienie powyższego narzędzia przyniesie odpowiedź podobną do tej na poniższym rysunku;

Powyższa ilustracja pokazuje, że zapytanie zwróciło 6 pozycji, wskazując wartość atrybutu dla każdego zapytania. ScannedCount to liczba elementów zeskanowanych w tabeli, podczas gdy CapacityUnits to liczba jednostek zużytych podczas operacji.

Wniosek

Ponieważ DynamoDB jest bazą danych NoSQL, jej operacje zapytania nie zachowują się tak, jak w przypadku zwykłej bazy danych AQL. Ale kiedy to zrobisz, przekonasz się, że operacja jest dość potężna i sprawi, że twoja interakcja z bazą danych będzie przyjemna.