Exemples de consultes de DynamoDB

Exemples De Consultes De Dynamodb



Una base de dades és una col·lecció de dades; DynamoDB no és una excepció. Les bases de dades contenen moltes dades que poden ser difícils de recuperar sense un mecanisme predefinit. Aquí és on l'ordre de consulta té un paper important.

Com qualsevol sistema de gestió de bases de dades, DynamoDB ofereix diversos mètodes de consulta mitjançant els quals podeu interactuar amb el sistema per accedir i manipular les vostres dades. La consulta a DynamoDB és una eina molt potent que us permet recuperar un element o un grup d'elements relacionats amb l'ordre de consulta.

Aquest article descriu els exemples principals de les operacions de consulta de DynamoDB.







Exemples habituals de consultes de DynamoDB

El comportament predeterminat per a l'operació de consulta a DynamoDB és retornar tots els elements associats amb els elements de consulta. Curiosament, l'ordre de consulta a DynamoDB es pot utilitzar amb taules o índexs secundaris.



Sigui quin sigui el cas, assegureu-vos sempre d'especificar la condició d'igualtat per al valor de la vostra clau de partició. De nou, és possible que hàgiu de proporcionar una condició diferent per a la clau d'ordenació en cas que n'utilitzeu una a l'ordre.



Altres paràmetres que trobareu quan consulteu DynamoDB també inclouen KeyConditionExpression i FilterExpression. KeyConditionExpression especifica els valors clau que voleu consultar. D'altra banda, FilterExpression elimina elements dels resultats de la consulta abans d'obtenir una resposta. Utilitzareu els ExpressionAttributeValues ​​com a marcadors de posició per als paràmetres d'expressió esmentats.





Els exemples de consultes de DynamoDB inclouen:

Trobar un únic element d'una taula basat en claus primàries

Podeu utilitzar la utilitat Consulta de DynmoDB per trobar un únic element basant-vos en una combinació de la clau de partició de l'element i els valors de la clau d'ordenació. La sintaxi d'aquesta operació és la següent:



consulta aws dynamodb \

--nom-taula MyTableName \

--expressió-condició-clau 'PartitionKey = :pk I SortKey = :sk' \

--expressió-valors-atributs '{':pk':{'S':'a123b'},':sk':{'S':'def456b'}}'

La utilitat de consulta anterior té com a objectiu recuperar un element amb un valor de clau de partició a1234b i un valor de clau d'ordenació odef456b de la taula MyTableName. Per exemple, podem utilitzar la utilitat anterior per trobar un article a la nostra taula 'Comandes'. El valor de la clau de partició de l'element pot ser wr546gg que representa l'ID_client, mentre que el seu valor de clau d'ordenació pot ser 24536433 que representa el número de comanda.

El resultat pot ser el següent:

El resultat anterior mostra Holiday Books com l'únic element que té un valor de clau de partició de wr546gg i un valor de clau d'ordenació de 24536433. També us ofereix tots els altres atributs addicionals associats a l'element. A la nostra il·lustració, retorna el número de factura i l'import pagat.

En particular, l'ordre de consulta tornarà a mostrar una llista en blanc si no hi ha cap element que coincideixi amb els valors de clau primària especificats.

Recuperar Tots els elements d'una taula DynamoDB que coincideixen amb valors d'atributs específics

Utilitzeu una expressió de filtre per recuperar tots els elements que tinguin un valor d'atribut similar en una taula DynamoDB específica.

L'ordre per a aquesta operació de consulta és com es mostra a continuació.

consulta aws dynamodb \

--nom-taula MyTableName \

--filtre-expressió 'AltreAtribut1 = :val' \

--expressió-valors-atributs '{':val':{'S':'valor1'}}'

Per exemple, podem utilitzar l'ordre de consulta anterior per recuperar cançons amb més que durin més de 5 minuts a la nostra taula de música. Per aconseguir-ho, establirem el nostre valor OtherAttribute1 a 5,00 i MyTableName a Música.

El resultat pot ser el que es mostra a continuació:

Cal truncar la llista per concisió. Però dels resultats, la nostra comanda de consulta va recuperar 11 elements amb un valor d'expressió de filtre de 5,00 de la nostra taula de música de DynamoDB.

Recuperació de tots els elements amb un rang particular de valors d'atributs

L'ordre següent és útil quan es recupera elements dins d'una taula concreta:

consulta aws dynamodb \

--table-name \

--expressió-condició-clau 'nom_atribut ENTRE :val1 I :val2' \

--expressió-valors-atributs '{':val1':{'N':''},':val2':{'N':''}}'

Per descomptat, haureu de substituir tots els atributs amb les vostres credencials personalitzades com ho haureu de fer amb qualsevol altra línia d'ordres. Per exemple, utilitzarem la nostra taula d'empleats amb un atribut clau d'interval anomenat 'edat'. L'objectiu és recuperar els ocupadors d'entre 30 i 42 anys.

La nostra nova línia d'ordres serà la següent:

consulta aws dynamodb \

--table-name Usuaris \

--expressió-condició-clau 'edat ENTRE :val1 I :val2' \

--expressió-valors-atributs '{':val1':{'N':'30'},':val2':{'N':'42'}}'

L'execució de la utilitat anterior donarà una resposta similar a la de la figura següent;

La il·lustració anterior mostra que la consulta ha generat 6 elements, que indica el valor de l'atribut per a cada consulta. ScannedCount és el nombre d'elements escanejats a la taula mentre que CapacityUnits és la quantitat d'unitats consumides durant l'operació.

Conclusió

Com que DynamoDB és una base de dades NoSQL, la seva operació de consulta no es comporta com la de la vostra base de dades AQL normal. Però un cop ho feu, descobrireu que l'operació és bastant potent i farà que la vostra interacció amb la base de dades sigui fàcil.